Linux

將不同行上的單詞合併為一行

  • January 17, 2022

我有一個文件,其中包含一個單詞列表,其中這些單詞屬於一個句子,然後屬於下一個句子的單詞也在彼此之下。與一個句子相關的詞塊後跟一個空格,如下面的表示#2所示

預期輸出:(表示#1):

These are the words for sentence 1
These are the words for sentence 2

預期輸入:(表示#2):

These
are
the
words
for
sentence 1

these
are
the
words
for
sentence 2

我嘗試關注這個問題,但它在我對不同句子有不同單詞的情況下不起作用,那麼如何在 linux 中將表示編號 2 更改為表示編號 1?

使用 awk:

awk 'BEGIN { RS = "" } {gsub(/ *\n */, " "); print}' FILE
$ awk -v RS= '{$1=$1}1' file
These are the words for sentence 1
these are the words for sentence 2

引用自:https://unix.stackexchange.com/questions/685025