我需要Unix搜索命令,用于查找一行中的特定单词,该行不应包含特定单词。
For eg,
Line 1: Java is my World.
Line 2: Java is OOPs language.
我需要unix命令,返回行包含“Java”而不是“World”。
Expected Output:
Java is OOPs language.
谢谢, Srinivasan R。
答案 0 :(得分:1)
使用grep:
cat <File> | grep 'Java' | grep -v 'World'
-v选项反转选择(即不包含模式的行)
您也可以使用awk并将这两个条件放在一起:
cat <File> | awk '/Java/ && !/World/'
答案 1 :(得分:1)
首先,列出所有包含“Java”字样的文件,然后反向匹配“World”,即选择那些没有“World”的行:
cat file | grep 'Java' | grep --invert-match 'World'
答案 2 :(得分:1)
特定单词的命令
找到一行中的特定单词,并搜索该单词所在的文件名。