我有一个文件里面有很多条目。我想提取某些组件的ID。该ID的前缀是abcd.inst,意思是只有一个单词,类似于
abcd.inst.sdt.gh-wer-1.anrg6ljrgo5rdtyc25lgtr2wf7iuhu2f5scwehpjjzerzpnphn3tzy4w2wjq不管我做什么
cat abcd.txt | grep "abcd.inst"我得到的输出
"id": "abcd.inst.sdt.gh-wer-1.anrg6ljrgo5rdtyc25lgtr2wf7iuhu2f5scwehpjjzerzpnphn3tzy4w2wjq"是否可以将输出作为
abcd.inst.sdt.gh-wer-1.anrg6ljrgo5rdtyc25lgtr2wf7iuhu2f5scwehpjjzerzpnphn3tzy4w2wjq我厌倦了使用
grep -oh abcd.inst abcd.txt但产出是
abcd.inst发布于 2021-09-27 12:27:29
grep -o只输出匹配的文本,这就是为什么grep -o abcd.inst只打印abcd.inst。解决方案是使用regex捕获整个输出。grep -oP 'abcd.inst[^"]+'会做你想做的事。-P标志启用perl样式的模式,并且对模式进行了修改以匹配下一个引号。这里有一个链接到一个能够准确解释模式所做的事情的工具。
https://unix.stackexchange.com/questions/670825
复制相似问题