AlM*_*hdi 3 awk sed duplicates
我想要一个 awk 或 sed 命令在正则表达式之后打印单词。
我想在 WORD 之后找到 WORD,而不是看起来相似的 WORD。
该文件如下所示:
somethingsomething
X-Windows-Icon=xournal
somethingsomething
Icon=xournal
somethingsomething
somethingsomething
Run Code Online (Sandbox Code Playgroud)
我想要那个说“Icon=xournal”的人的“xournal”。这就是我到现在为止走了多远。我也尝试过 AWK 字符串,但也不成功。
cat "${file}" | grep 'Icon=' | sed 's/.*Icon=//' >> /tmp/text.txt
Run Code Online (Sandbox Code Playgroud)
但是我得到了两个所以文本文件给出了两个我不想要的 xournal。
用于^将图案锚定在行首。你甚至可以直接在 sed 中进行 grepping:
sed -n '/^Icon=/ { s/.*=//; p; }' "$file" >> /tmp/text.txt
Run Code Online (Sandbox Code Playgroud)
你也可以使用 awk,我认为它读起来更好一些。使用=作为字段分隔符,如果字段1是Icon然后打印字段2:
awk -F= '$1=="Icon" {print $2}' "$file" >> /tmp/text.txt
Run Code Online (Sandbox Code Playgroud)