sedは数行のコメントをしました。

sedは数行のコメントをしました。

test.txt次の内容を含むテキストファイルがあります。

foo
configure
top
start
fun
bar
hello

出力が次のように2行、5行、7行をコメントアウトしたいと思います。

foo
#configure
top
start
#fun
bar
#hello

2、3、4、5、6、7行を使用するとsed -i "2,7 {s/^/#/}" test.txtコメントが表示されます。特定の行番号だけをコメントアウトする方法は?助けてくれてありがとう。

ベストアンサー1

2,7あなたが指定するように範囲式が適用される行数。この場合、特定の3行だけを選択してください。

sed -e '2s/^/#/' -e '5s/^/#/' -e '7s/^/#/'  file

または、実際のコメント操作をsed編集コードの特定の場所に分割します(#行の先頭にaを追加するよりも複雑な操作を実行する必要がある場合にのみ非常に便利です)。

sed -e 2bc -e 5bc -e 7bc -e b -e :c -e 's/^/#/' file

コマンドbはラベル(ここではc定義を含む:c)に分岐するか、ラベルが指定されていない場合はスクリプトの末尾に分岐します。

または次のようにawk

awk 'NR == 2 || NR == 5 || NR == 7 { print "#" $0; next } 1'  file

おすすめ記事