如何使用Unix命令删除文件中以指定字符串开头的整行内容
可用的Unix命令方案如下:
1. sed方案(支持直接修改原文件)
匹配目标开头的行直接删除,命令如下:
# 仅输出结果不修改原文件 sed '/^SOURCE\|^DESIGN\|^\/\//d' 你的文件路径
如果需要直接修改原文件,Linux环境加-i参数即可:
sed -i '/^SOURCE\|^DESIGN\|^\/\//d' 你的文件路径
macOS环境下sed的-i参数需要额外加空后缀:
sed -i '' '/^SOURCE\|^DESIGN\|^\/\//d' 你的文件路径
2. grep方案(反向过滤)
用-v参数排除匹配到的行,命令如下:
grep -v '^\(SOURCE\|DESIGN\|//\)' 你的文件路径
需要保存结果的话可以重定向到新文件:
grep -v '^\(SOURCE\|DESIGN\|//\)' 你的文件路径 > 输出文件路径
3. awk方案
通过条件判断输出符合要求的行,命令如下:
awk '!/^SOURCE|^DESIGN|^\/\//' 你的文件路径
内容的提问来源于stack exchange,提问作者Surabh S
相关产品推荐
相关产品推荐

