特定字符串后的非特定字符串
时间: 2023-08-15 09:08:16 浏览: 148
如果要查找特定字符串后出现的所有非特定字符串,并输出每个非特定字符串出现的次数,可以使用以下命令:
```
grep -o 'string.*' file.txt | grep -oP '(?<=string ).*' | grep -Eo '\b\w+\b' | sort | uniq -c | awk '{print $2, $1}'
```
其中,"string" 是特定字符串,file.txt 是要查找的文件名。该命令首先使用 grep 命令查找包含特定字符串的行,并输出该行后面的所有内容。然后使用 grep 和正则表达式查找特定字符串后面的所有非特定字符串,并输出每个非特定字符串出现的次数。接着使用 grep 和正则表达式查找所有单词,并输出每个单词出现的次数。再使用 sort 命令将结果按照字母顺序排序。最后使用 uniq 命令去除重复的单词,并输出每个单词出现的次数。注意,这里的 awk 命令中不需要判断出现次数大于 1 的单词,因为已经筛选出了特定字符串后的所有非特定字符串。
需要注意的是,该命令只能查找单词,如果要查找任意字符串,可以将 `\b\w+\b` 替换成 `.`。
阅读全文