- ベストアンサー
sedで日本語の置換方法について
sedを使い文字の置換を行いたいのですが、日本語(全角文字)の置換がうまくいきません。 たとえば[a]から[i]に変換することはできるのですが、[あ]から[い]にはうまく変換できません。 どなたかわかる方、変換する方法はありますでしょうか?あればその方法を教えてください。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- sedでの置換がうまくできません。
sedを使用して以下の様な文字列を置換したいと考えています。 iPar(\"w\") → 何かの文字列 そこで以下のようなsedスクリプトを作成しました。 s/iPar\(\"w\"\)/test/g → a.sed 使用してみました。具体的には↓のコマンド >sed -f a.sed inputデータ >outputデータ しかし結果ファイルをみても何も変わってくれません。 なにが悪いのでしょうか? どなたかご指南下さい。
- ベストアンサー
- Linux系OS
- sedの置換文字に変数を使用したいのですが・・・
あるファイルの特定の文字を変換し、上書きをする処理を行いたいのですが、sedの置換文字に変数が渡せなくて困っています。 例: X="a" Y="b" echo test.txt | sed 's/${X}/${Y/g}' >test.txt sedでは置換文字に${X}といった変数を使用することはできないのでしょうか?
- ベストアンサー
- Linux系OS
- Wordでの置換方法を教えてください。
1.Word2003の文書中に、句読点の全角”.”と 節、項などの番号を示す全角 a. b. c.~などがあります。このうち読点の”.”だけを”。”に置換機能で変換したいのですが、そのやり方を教えてください。(やさしくお願いします) 2.そのほかに、置換したい文字が2個あります。都合3個を何かで区切るなどして並べて記述して1回で置換する方法はありませんか?
- ベストアンサー
- Windows XP
- Unix-sedコマンドによる置換について
sedでコマンド次の文字列をスペースに置換したいのですが うまくいきません。BF-DR1 =(0)A[7]OPN-ENDはスペースや大カッコが含まれています。 与えたコマンドは、 sed -e "s/ BF-DR1 =(0)A[7]OPN-END//g" <bf1Open.log>rrr.txt ですが、出力ファイルはまったく置換されていませんでした。 お分かりになる方どなたかご教授ください。
- ベストアンサー
- その他(OS)
- sambaで連携したファイルをLinuxからsedでの置換
お世話になります。 sedを使って文字列の置換をしたいと考えています。 sambaでwindowsから連携したファイルに対して置換を行いたいのですが、うまく置換ができません。 Linux側の「GNOME端末」からファイルの中身をのぞくと、全角の箇所が文字化けしてしまっていました。どうやら原因はこれだと思うのですが、どうすれば文字化けしていてもうまく置換できるでしょうか? あるいはLinux側から見ても文字が化けないようにするにはどうすればよいでしょうか? 例) test[Tab]2008年5月05日[Tab]あああ[Tab]aaaaa という文字列に対し、 sed -e 's/^.*\t.\(.*\)\t.*\t.*$/3\1/' test.txt というコマンドを実行したが、うまく置換されない。 ※test.txtは、文字列が格納されているファイル。 よろしくお願いいたします。
- ベストアンサー
- Linux系OS
- ワード (word ) 日本語の文字だけを選択して「置換」したい。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1568156 で「半角を~」という質問をしました。 そして、「半角を置換すればいい。」という回答をいただきまして、非常に助かりました。 今度は日本語(つまり全角)の文字全てを置換する方法ってあるのでしょうか?? 「任意の全角」という選択肢がありませんでした・・・。 どなたか教えて下さい。
- 締切済み
- オフィス系ソフト
- sedでカンマ区切りの列の置換を行いたい
以下の様なファイルがあります。 sedコマンドを使用して、カンマで区切られたn番目のカラム目を 置換したい場合どうすればよいでしょうか。 "1","2","3","4","5","6" "1234","12","34567","abcd","efg","hi" "a c","d f","12 34","0","AAA","" "g i","j l","45 67","0","BBB","2021" "m o","p r","3 2 1","1","ABC","" "123","456","","abc","efg","hij" ①1カラム目以外置換(1カラム目以降削除) sed 's/\(.*\),.*,.*,.*,.*,.*/\1/g' test.csv ②最後の6カラム目以外置換(6カラム目以外削除) sed 's/.*,.*,.*,.*,.*,\(.*\)/\1/g' test.csv ③3カラム目を置換(3カラム目を「""」だけにしたい) sed -e 's/\(.*\),\(.*\),.*,\(.*\),\(.*\),\(.*\)/\1,\2,"",\3,\4,\5/g' test.csv とできたのですが、 表現がないというか、置換対象文字列の条件、表現が長いというか、全カラムを指定しているので、 少し、短くできないものでしょうか。 ①パターン sed 's/\([^,]*\),.*/\1/g' test.csv ②パターン sed "s/.*,\([^,]*\)$/\1/g" test.csv の様にできました。 ③パターン 思いう浮かばず これで、できているので間違いはないかとおもいますが、 どうなのでしょうか。 なにかいい案はないでしょうか?
- ベストアンサー
- Solaris系OS
- linuxのsedコマンド変数置換の質問です
はじめまして。 要点だけになってしまいますが 教えていただきたいことがあってトピしました。 この構文では動きませんが僕がやりたいことは こういうイメージです。 111.txt 444 444 1.txt 111 222 333 444 a=`cat 111` echo $a 結果 444 444 1.txt | sed 's/222/$a/g' ↑ ↑ 置換対象 変数 word を $a に収まっている文字列で置換します。 結果 111 444 444 333 444 どなたかわかるかた教えてください。 よろしくお願いします。
- ベストアンサー
- Perl
- sed コマンドについて
はじめまして 当方、初心者で勉強の身です。ご回答頂けたら幸いです。 linuxのシェルファイルが100以上あり、こちらの全ファイル内に含まれる文字列"ABCDE"を文字列"12345"に置換をしたいと思っています。 sed コマンドで sed -e "s/ABCDE/12345/g" *.csh のように実行しても、画面上に変換後が表示されるだけで その後、ファイルを見ても置換されていません。 どのようにすれば、全ファイルが修正されるのでしょうか。 以上です。回答の方をよろしくお願い致します。
- ベストアンサー
- Linux系OS
お礼
この手順の通り確認してみたところ、テキストファイルが文字化けしていたためにうまくできなかったみたいです。 テキストファイルをshift-JISに直したらできました! ありがとうございました!