iT邦幫忙

1

egrep 怎麼把結果換行?

  • 分享至 

  • xImage

我用

egrep -o -h \
'<s n=".*?">|<w c5=".*?" hw=".*?" pos=".*?">.*?</w>|</s>' \
A*.xml > A.txt

這個指令得到

<s n="1"><w c5="NN1" hw="factsheet" pos="SUBST">FACTSHEET </w><w c5="DTQ" hw="what" pos="PRON">WHAT </w><w c5="VBZ" hw="be" pos="VERB">IS </w><w c5="NN1" hw="aids" pos="SUBST">AIDS</w>...</s>

我現在想要讓結果變成如下,

<s n="1">
<w c5="NN1" hw="factsheet" pos="SUBST">FACTSHEET </w>
<w c5="DTQ" hw="what" pos="PRON">WHAT </w>
<w c5="VBZ" hw="be" pos="VERB">IS </w>
<w c5="NN1" hw="aids" pos="SUBST">AIDS</w>

目前嘗試過換行字元或是加 '\n' 都沒辦法,想說邦友可能有 Unix 指令高手一起交流,謝謝!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

4
wiseguy
iT邦超人 1 級 ‧ 2022-10-04 00:30:31
最佳解答

多加一個 sed 的處理就好了。

egrep -o -h \
'<s n=".*?">|<w c5=".*?" hw=".*?" pos=".*?">.*?</w>|</s>' \
A*.xml | sed 's/></>\n</g' > A.txt

我要發表回答

立即登入回答