Linux/Unix sed:从文件/输入中删除Word
时间:2020-01-09 10:40:09 来源:igfitidea点击:
Linux中如何删除文本文件中每行以特定字母(如g)结尾的所有单词?
我如何删除基于正则表达式的词使用sed或awk下的Linux / Unix像操作系统?
解决方法:
您可以使用任何标准的Unix文本编辑和处理工具来查找和替换/删除文件中的单词。
sed示例
语法为:
sed 's/\<word\>//g' input sed -e 's/\<regex-for-word\>//g' input > output
在此示例中,从输入中删除foo单词:
echo 'This is a foo test' | sed -e 's/\<foo\>//g'
要删除每行中以字母g结尾的所有单词,请执行:
sed -e 's/\<[a-zA-Z0-9]*[g|G]\>//g' input
AWK示例
语法为:
awk '{gsub("word", "");print}' input awk '{gsub("regex", "");print}' input > output
在此示例中,从输入中删除条形码:
awk '{gsub("bar", "");print}' <<< "This is a bar test"
要使用gnu/awk删除每行中所有以字母g结尾的单词,请执行:
awk '{gsub("[a-zA-Z0-9]*[g|G]$", "");print}' input
或者
awk '{gsub("\<[a-zA-Z0-9]*[g|G]\>", "");print}' input