![从文件中选择所有引用文本的实例](https://linux22.com/image/1475596/%E4%BB%8E%E6%96%87%E4%BB%B6%E4%B8%AD%E9%80%89%E6%8B%A9%E6%89%80%E6%9C%89%E5%BC%95%E7%94%A8%E6%96%87%E6%9C%AC%E7%9A%84%E5%AE%9E%E4%BE%8B.png)
是否有任何方法grep
或以任何其他方式获取文件中每对双引号内的所有文本实例?我见过这样的答案:https://stackoverflow.com/questions/15435056/grep-string-inside-double-quotes但它们不适用于每行可能包含任意数量的带引号的字符串的情况。
对于这样的输入:
Here was some "text over here", and then there was "text over there".
我希望输出是:
"text over here"
"text over there"
不必包含引文本身。
答案1
$ cat aaaa
foo "bar" base "ere" fff
"fff"ggggg"rr"
$ grep -o '"[^"]*"' aaaa
"bar"
"ere"
"fff"
"rr"
答案2
尝试:
grep -o '"[^"]*"' /path/to/file
注意:[^"]*
是通配符(.*
)的非贪婪版本,因此每行可以匹配多个出现的情况。