grep或sed或awk+;匹配词

grep或sed或awk+;匹配词,grep,Grep,我执行以下操作是为了获取文件中的所有WORD,而不是以“/”开头的行 我可以得到一些其他优雅的建议来查找文件中除以开头的行以外的所有单词吗// 备注:“//”不必存在于行的第一行中,它可能在行的第一行之后出现一些空格// 比如说 更多文件 // WORD AA WORD // ss WORD 利迪亚 这也将排除单词后带有“/”的任何行,例如: WORD//这里是这一行 使用GNU Grep的更好方法是: grep -v '^[[:space:]]*//' file

我执行以下操作是为了获取文件中的所有WORD,而不是以“/”开头的行

我可以得到一些其他优雅的建议来查找文件中除以开头的行以外的所有单词吗//

备注:“//”不必存在于行的第一行中,它可能在行的第一行之后出现一些空格//

比如说

更多文件

 // WORD

 AA WORD

         // ss WORD
利迪亚

这也将排除单词后带有“/”的任何行,例如:

WORD//这里是这一行

使用GNU Grep的更好方法是:

 grep -v '^[[:space:]]*//' file | grep 'WORD'
…这将首先过滤掉以零个或多个空格和注释字符串开头的任何行

尝试将这两个条件放在一个正则表达式中可能不会更优雅

awk '!/^[ \t]*\/\// && /WORD/{m=gsub("WORD","");total+=m}END{print total}' file
这也将排除单词后带有“/”的任何行,例如:

WORD//这里是这一行

使用GNU Grep的更好方法是:

 grep -v '^[[:space:]]*//' file | grep 'WORD'
…这将首先过滤掉以零个或多个空格和注释字符串开头的任何行


尝试将这两个条件放在一个正则表达式中可能不会更优雅。

您的方法删除了这一行:WORD aa;//单词aaallow:your
grep word
也将匹配一行中的任何“剑”实例。这是故意的吗?你的方法省略了这一行:单词aa;//单词aaallow:your
grep word
也将匹配一行中的任何“剑”实例。这是故意的吗?如何用你的例子计算单词数(如果我想知道我的文件中有多少单词)@lidia:如何计算文件中的单词数是另一个问题。你应该更新你的问题或者问一个新问题。如何用你的例子计算单词数(如果我想知道我的文件中有多少单词)@lidia:如何计算文件中的单词数是一个单独的问题。你应该更新你的问题或者问一个新问题。
awk '!/^[ \t]*\/\// && /WORD/{m=gsub("WORD","");total+=m}END{print total}' file