ファイル.txt:
line: this-is-some-text
line2: this-is-some-other-text
例:
sed 's#line:.*##g' File.txt
line2: this-is-some-other-text
ご覧のとおり、最初の行は削除されましたが、空白行が残ります。
sed
削除時に空白行が残らないようにすることはできますか?
答え1
あなたはそれを使用することができますD代わりに elete コマンドS代替コマンド:
$ cat File.txt
line: this-is-some-text
line2: this-is-some-other-text
$ sed '/line:/d' File.txt
line2: this-is-some-other-text
式を行の先頭に固定することを検討できます(例:)sed '/^line:/d' File.txt
。
または、リバースマッチングのためにgrepを検討してくださいgrep -v '^line:' File.txt
。
答え2
awkを使用してください:
$ awk '/line:/{next}1'
$ awk '/^line:/{next}1' #For pattern at the start of line
編集の使用:
$ printf '%s\n' 'v/line:/p' | ed -s file
$ printf '%s\n' 'v/^line:/p' | ed -s file # For pattern at the start of line