我有此表单中的文本数据:
^Well/Well[ADV]+ADV ^John/John[N]+N ^has/have[V]+V+3sg+PRES ^a/a[ART]
^quite/quite[ADV]+ADV ^different/different[ADJ]+ADJ ^not/not[PART]
^necessarily/necessarily[ADV]+ADV ^more/more[ADV]+ADV
^elaborated/elaborate[V]+V+PPART ^theology/theology[N]+N *edu$
我想把它处理成这个表格:
Well John have a quite different not necessarily more elaborate theology
基本上,我需要起始字符
/
和结束字符[
之间的每个字符串。这是我试过的,但我只是得到了空文件。。。
#!/bin/bash
for file in probe/*.txt
do sed '///,/[/d' $file > $file.aa
mv $file.aa $file
done
最佳答案
去营救!
$ awk -F/ -v RS=^ -v ORS=' ' '{print $1}' file
Well John has a quite different not necessarily more elaborated theology
解释:将记录分隔符(RS)设置为
awk
可以分隔逻辑组,也可以将字段分隔符(FS)设置为^
并根据需要打印第一个字段。最后,将输出字段分隔符(OFS)设置为空格(而不是默认的新行)将使提取的字段保持在同一行。关于bash - 使用sed从文本文件中提取字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40512155/