テキストファイルから特定の行を削除する方法は?

テキストファイルから特定の行を削除する方法は?

F複数行のテキストを含むテキストファイルと、その行に対応する数値リストをL含む別のテキストファイルがありますが、F リスト内のすべての行をL削除したいと思います。F

次の例では:

cat F.txt
aaa
bbb
ccc

cat L.txt
1
3

1行を削除し、行2を3残してF.txt新しいファイルに保存するコマンドが必要ですF_new.txt

cat F_new.txt
bbb

ベストアンサー1

awk最初のファイルの行番号をNR==FNR配列としてロードし、その行の配列要素が存在しないp[]2番目のファイルから印刷するだけです。NR!=FNR!p[FNR]

awk 'NR==FNR{p[$1]=$1}
     NR!=FNR&&!p[FNR]' L.txt F.txt > F_New.txt

bbb

おすすめ記事