有没有办法使用sed,让每一条输入行的前两个单词出现在一行上,输入行的剩余部分出现在下一行?
答案 0 :(得分:1)
我不知道sed
,但这里是awk
cat file
This is a test for me
Lets see how this goes
awk '{print $1,$2;for (i=3;i<=NF;i++) printf "%s ",$i;print ""}' file
This is
a test for me
Lets see
how this goes
答案 1 :(得分:1)
sed解决方案:
echo "one two three filer"|sed -e "s/\([^ ]\{1,\} \{1,\}[^ ]\{1,\}\) \{1,\}\(.*\)$/\1\n\2/g"
答案 2 :(得分:0)
sed 's/\([^ ]\{1,\} \{1,\}\)\{2\}/&\
/' YourFile
假设单词的分隔符是空格字符(如果不是,请用[[:blank:]]
或[[:space:]]
替换空格字符)
答案 3 :(得分:0)
这可能适合你(GNU sed):
sed 's/\s\+/\n/2' file