我想要一个 awk 或 sed 命令来打印正则表达式之后的单词。
我想找到一个单词后面的单词,但不是看起来相似的单词。
该文件如下所示:
somethingsomething
X-Windows-Icon=xournal
somethingsomething
Icon=xournal
somethingsomething
somethingsomething
我想要来自“Icon=xournal”的“xournal”。这就是我到目前为止已经走了多远。我也尝试过 AWK 字符串,但也不成功。
cat "${file}" | grep 'Icon=' | sed 's/.*Icon=//' >> /tmp/text.txt
但我得到了两个,所以文本文件给出了两个我不想要的xournal。
Use ^
将图案锚定在行的开头。您甚至可以直接在 sed 中进行 grep 操作:
sed -n '/^Icon=/ { s/.*=//; p; }' "$file" >> /tmp/text.txt
您还可以使用 awk,我认为它读起来更好一些。使用=
作为字段分隔符,如果字段 1 是Icon
然后打印字段2:
awk -F= '$1=="Icon" {print $2}' "$file" >> /tmp/text.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)