我有此表单中的文本数据:

^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/

10-09 00:56