删除包含特定字符的文件中的所有行

dis*_*lus 3 unix bash perl awk command-line

我想删除具有特定字符的文件中的所有行/行,'?' 在我的情况下.我希望在Bash或AWK或Perl中有一个单行命令.谢谢

dog*_*ane 9

您可以使用sed"就地"修改文件:

sed -i "/?/d" file
Run Code Online (Sandbox Code Playgroud)

或者,使用grep:

grep -v "?" file > newfile.txt
Run Code Online (Sandbox Code Playgroud)


Fre*_*ihl 6

更好的是,只需一行使用 sed

sed '/?/d' input
Run Code Online (Sandbox Code Playgroud)

用于-i编辑文件.