将(各种大小的)行拆分为两列,将第一个单词保留在一列中
Split (various sized) lines into two columns keeping the first word in a column
我想按行重新格式化一个包含多个单词的文本文件:每个单词应该在一个单独的行中,从原始行的第一个单词开始。
原始文本文件如下所示:
line1 word1 word2 word3
line2 word4
line3 word5 word6
预期的结果应该是
line1 line1
line1 word1
line1 word2
line1 word3
line2 line2
line2 word4
line3 line3
line3 word5
line3 word6
其实所有的字都是一样的:一行的第一个字和其他的没有区别,这个solution不行
作为 awk 的初学者,我尝试了这个
awk 'BEGIN {FS=" "; OFS="\n"} { x=; =; printf "%s", x "\t" [=12=] "\n"}'
但结果是这样
line1 line1
word1
word2
word3
line2 line2
word4
line3 line3
word5
word6
感谢您的帮助!
能否请您尝试以下操作:
awk '{for(i=1;i<=NF;i++){print ,$i}}' Input_file
我想按行重新格式化一个包含多个单词的文本文件:每个单词应该在一个单独的行中,从原始行的第一个单词开始。
原始文本文件如下所示:
line1 word1 word2 word3
line2 word4
line3 word5 word6
预期的结果应该是
line1 line1
line1 word1
line1 word2
line1 word3
line2 line2
line2 word4
line3 line3
line3 word5
line3 word6
其实所有的字都是一样的:一行的第一个字和其他的没有区别,这个solution不行
作为 awk 的初学者,我尝试了这个
awk 'BEGIN {FS=" "; OFS="\n"} { x=; =; printf "%s", x "\t" [=12=] "\n"}'
但结果是这样
line1 line1
word1
word2
word3
line2 line2
word4
line3 line3
word5
word6
感谢您的帮助!
能否请您尝试以下操作:
awk '{for(i=1;i<=NF;i++){print ,$i}}' Input_file