Sed分割每个输入行

时间:2014-05-06 11:49:20

标签: unix sed

有没有办法使用sed,让每一条输入行的前两个单词出现在一行上,输入行的剩余部分出现在下一行?

4 个答案:

答案 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