Bash 如何删除不包含特定字符的行?
例如,我希望删除纺织品中不包含字符“@”的所有线条 我已经试过这样使用sed了Bash 如何删除不包含特定字符的行?,bash,macos,shell,sed,Bash,Macos,Shell,Sed,例如,我希望删除纺织品中不包含字符“@”的所有线条 我已经试过这样使用sed了 sed '/@/!d' data.txt 我错过了什么?这不管用吗 sed -n '/@/p' [file] -n禁止默认打印 /@/在线上任意位置匹配 p如果匹配则打印 添加-i以就地编辑文件(如果提供)。与非标准sed-i相比,我更喜欢使用ed,尤其是在需要便携的情况下: printf "%s\n" "v/@/d" w | ed -s filename 这将删除不包含@的每一行,并将更改后的文件保存回光盘。
sed '/@/!d' data.txt
我错过了什么?这不管用吗
sed -n '/@/p' [file]
-n禁止默认打印
/@/在线上任意位置匹配
p如果匹配则打印
添加-i以就地编辑文件(如果提供)。与非标准sed-i相比,我更喜欢使用ed,尤其是在需要便携的情况下:
printf "%s\n" "v/@/d" w | ed -s filename
这将删除不包含@的每一行,并将更改后的文件保存回光盘。我猜您错过了-I:sed-I'/@!d'data.TXT非常感谢!很好用。我不认为标签是相关的,或者是?