私はこの形式のファイルを持っています:
Word1:「Word2」Word3
「Word2」を削除したい
その場合、ファイルは次のようになります。
Word1:Word3
sedでこれを行うにはどうすればよいですか?
注:Word2は変更可能です
私はこの形式のファイルを持っています:
Word1:「Word2」Word3
「Word2」を削除したい
その場合、ファイルは次のようになります。
Word1:Word3
sedでこれを行うにはどうすればよいですか?
注:Word2は変更可能です
input_fileに余分なものがない場合は、引用符で囲まれたすべてのフレーズを空の文字列に置き換えてください。
sed 's/"[^"]*"//' input_file
コマンドラインから試してください
$ sed -i 's/\"Word2\"//g' /path/to/file.txt
与えられた入力に基づいています。たとえば、Word2は何でもかまいませんが、Word1とWord3は修正されています。sed / awkonelinerは4uの仕事をすることができます:
kent$ echo 'Word1 : "Word2" Word3'|sed -r 's/(Word1 :) "[^"]*"( Word3)/\1\2/g'
Word1 : Word3
kent$ echo 'Word1 : "Word2" Word3'|awk -F"\"" '{print $1,$3}'
Word1 : Word3
file.txtがファイルの場合、コマンドラインからこれを試すことができます。
sed -e "s_: \"[a-zA-Z0-9]*\" _: _g" -i file.txt
テストがファイルの場合は、次を試してください。
# cat test | sed -r 's/\".+\"\ //'