簡體   English   中英

Linux grep / awk:過濾文件中的行,但在EOF處克隆(保留或忽略)尾隨的換行符

[英]Linux grep/awk: Filter lines in a file, but clone (preserve or omit) a trailing newline at EOF

我想過濾線,例如使用

grep -v keyword $file1 > $file2

但我希望輸出文件具有與輸入文件相同的“文件末尾”情況,即,如果file1包含尾隨換行符,則file2也應包含尾隨換行符,只有這樣。

使用上面的'grep',即使file1沒有,file2總是包含尾隨換行符。

使用RT的GNU awk:

$ cat with_nl
a
x keyword y
c
$
$ cat without_nl
a
x keyword y
c$
$
$ awk '{ORS=RT} !/keyword/' with_nl
a
c
$ awk '{ORS=RT} !/keyword/' without_nl
a
c$

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM