</foo:bar>
" "を含む何百ものファイルがあります。
cc
bb
aa
</foo:bar>
dd
xx
vv
一度に変えたいです。
cc
bb
aa
</foo:bar>
sed は正確なファイル名を指定すると正常に動作します。
sed -i "/</foo:bar>/q" 99999.txt
しかし、一度にすべて変更しようとすると、何の結果も得られません。
sed -i "/<\/foo:bar>/q" *.txt
ベストアンサー1
努力する:
sed -s -n -i '0,/<\/foo:bar>/p' *.txt
-s
sed に各ファイルを個別に処理するよう指示します。
すべてのファイルが完了する前に終了したくないので、残りの行ではなく sed
最初から印刷するように変更します。明示的に要求されない限り、印刷しないようにsedに指示します。このコマンドは、sedにファイルの先頭から一致する最初の行まですべての行を印刷するように指示します。<\/foo:bar>
-n
0,/<\/foo:bar>/p
<\/foo:bar>
この-s
オプションはBSD / OSX sedでは機能しません。