例如,如果我有如下文件:
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命令吗?
发布于 2015-10-14 09:53:45
要实现这一点,有多种方法。
用grep
grep -oE "[0-9]+" file-o标志只打印匹配的模式(本例中的数字),用换行符分隔。-E激活扩展正则表达式。用awk
awk 'OFS="\n"{$1=$1}1' fileOFS定义输出字段分隔符。$1=$1,因为我们更改了OFS,我们需要通过将第一个字段设置为自身来重新构建行,这将强制重建。1,至少我们需要一个真正的条件,这条线是打印的。发布于 2015-10-14 10:00:55
用sed
TMP$ sed -r 's/ +/\n/g' File
1
2
3
4
5
6
7
8
9
10
11
12用换行符替换所有连续的空格。
发布于 2015-10-14 10:15:21
天真的AWK方法:
#!/usr/bin/awk -f
{ for (i = 1; i <= NF; i++) print $i; }混沌的方法可能更有效。
https://stackoverflow.com/questions/33122013
复制相似问题