我想重新格式化一个包含逐行包含多个单词的文本文件:每个单词应在单独的一行中,并以原始行的第一个单词开头。
原始文本文件如下所示:
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=$1; $1=$1; printf "%s", x "\t" $0 "\n"}'
但这会导致
line1 line1
word1
word2
word3
line2 line2
word4
line3 line3
word5
word6
感谢您的帮助!
答案 0 :(得分:4)
请您尝试以下。
awk '{for(i=1;i<=NF;i++){print $1,$i}}' Input_file