我正在尝试抓取一些格式化文本中的内容。例子
在文件中输入:
i would like to say ("hi")
i am leaving, ("bye")
who is there? ("crazy cat")
I have a ("dirty dog that needs water")
//
如何只抓取 ("") 中的字符串。
我试图通过空格或具有 ("的字符串来解析它,但我无法获取带有空格的字符串...
目前我正在使用
cat get_list.txt | tr ' ' '\n'
最佳答案
尝试使用 look around regex techniques 执行此操作:
$ grep -oP '\("\K[^"]+(?="\))' file.txt
bye
crazy cat
dirty dog that needs water
或使用 perl可移植解决方案仍在使用 look around regex techniques :
perl -lne 'print $& if /\("\K[^"]+(?="\))/' file.txt
或者简单地说:
cut -d'"' -f2 file.txt
关于linux - 如何解析一行——引号内的内容或使用 unix 的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15348778/