我写了一个简单的正则表达式来输出文件中引用的字符串
cat mobydick.txt | while read line; do echo -n "$line "; done | grep -oP '[^"]*"\K[^"]*'
这是我到目前为止所拥有的
例如,当我在这个文件mobydick.txt上运行这个单行时,我得到一行代码而不是新行分隔的字符串。
有人可以帮我处理我的剧本吗?
预期输出 - >当上面的脚本在mobydick.txt上运行时
“从我第二十五年开始我的生活。”
“叫我以实玛利。”
上面的输入文件可以从这个URL
下载答案 0 :(得分:1)
使用GNU grep(1)(grep(1)的其他版本没有-P
):
tr '\n' ' ' <mobydick.txt | grep -P -o '(?<=\s)"[^"]+"(?=\s)'
更准确,使用pcregrep(1):
pcregrep -M -o '(?<=^|\s)"[^"]+"(?=$|\s)' mobydick.txt