例如,如果我有一个文件如下:
1 2 3 4 5 6
7 8 9 10 11 12
我想将此文件重新组织为:
1
2
3
4
5
6
7
8
9
10
11
12
我可以使用awk
命令吗?
答案 0 :(得分:0)
有多种方法可以实现这一目标。
使用grep
:
grep -oE "[0-9]+" file
-o
标志仅打印匹配的模式(本例中为数字),由换行符分隔-E
激活扩展的正则表达式。使用awk
:
awk 'OFS="\n"{$1=$1}1' file
OFS
定义输出字段分隔符。$1=$1
因为我们更改了OFS,我们需要通过将第一个字段设置为自身来重建该行,这将强制重建。1
至少我们需要一个打印线条的真实条件。答案 1 :(得分:0)
使用sed
:
TMP$ sed -r 's/ +/\n/g' File
1
2
3
4
5
6
7
8
9
10
11
12
用换行符替换所有连续空格。
答案 2 :(得分:0)
天真的AWK方法:
#!/usr/bin/awk -f
{ for (i = 1; i <= NF; i++) print $i; }
混沌的方法可能更有效率。