脚本将具有多列的文件读入具有一列的文件中

时间:2015-10-14 09:47:53

标签: awk

例如,如果我有一个文件如下:

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命令吗?

3 个答案:

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

混沌的方法可能更有效率。