有一个这样的文本行:
a b c d e f ...
我想要这个:
a b
c d
e f
...
我正在尝试使用sed,awk和for循环,但是我还没有得到...
你能帮我吗?
谢谢!
答案 0 :(得分:1)
awk可以肯定地做到这一点。但是对于给定的示例和预期的结果,我将使用xargs
:
xargs -n2 -a file
测试:
kent$ cat f
a b c d e f
kent$ xargs -n2 -a f
a b
c d
e f
答案 1 :(得分:1)
我假设空格之间可能有多个字符,所以
$ cat tmp.txt
a b c d e f g h i j k l m n o p q r s t u v w x y z
$ cat tmp.txt | sed 's/\([^ ]* [^ ]*\) /\1\n/g'
a b
c d
e f
g h
i j
k l
m n
o p
q r
s t
u v
w x
y z
答案 2 :(得分:1)
$ echo {a..f}
a b c d e f
$ echo {a..f} | tr -s '[:blank:]' '\n' | paste -d " " - -
a b
c d
e f
答案 3 :(得分:0)
仅使用bash
:
$ IFS=$' \t' read -ra a <<< "a b c d e f"
$ printf '%s %s\n' "${a[@]}"
a b
c d
e f