Chinaunix
标题:
awk小问题
[打印本页]
作者:
wp7731695
时间:
2014-01-14 12:38
标题:
awk小问题
文本内容
a
b
c
想实现下面的输出(假设重复10次)
a
b
c
a2
b2
c2
a3
b3
c3
...
a10
b10
c10
请问用AWK怎样实现
作者:
Shell_HAT
时间:
2014-01-14 12:45
awk '{a[NR]=$0}END{for(i=1;i<=NR;i++)print a[i];for(j=2;j<=10;j++)for(i=1;i<=NR;i++)print a[i]j}' urfile
复制代码
作者:
wp7731695
时间:
2014-01-14 12:48
回复
2#
Shell_HAT
非常感谢
作者:
WilliBhamlll
时间:
2014-01-14 12:50
awk -vRS= '{for(i=0;i++<10;){for(j=0;j++<NF;){print i==1?$j:$j""i}}}' file
复制代码
作者:
关阴月飞
时间:
2014-01-14 12:52
awk '{a[NR]=$0}END{for(i=0;i++<10;)for(n=0;n++<NR;)print (i>1)?a[n]i:a[n]}' urfile
复制代码
作者:
Shell_HAT
时间:
2014-01-14 12:53
回复
4#
WilliBhamlll
遇到包含空格的行会处理错误
作者:
WilliBhamlll
时间:
2014-01-14 12:59
回复
6#
Shell_HAT
是的,还是用数组好
作者:
yestreenstars
时间:
2014-01-14 13:25
本帖最后由 yestreenstars 于 2014-01-14 13:30 编辑
awk '{a[NR]=$0}END{for(i=0;i++<10;)for(j=0;j++<NR;)print (i>1)?a[j]i:a[j]}'
复制代码
作者:
LikeLx
时间:
2014-01-14 15:23
本帖最后由 LikeLx 于 2014-01-14 15:24 编辑
awk -vRS='' '{print $0;for(i=1;i++<10;){for(a=0;a++<NF;) print $a""i}}'
复制代码
作者:
elu_ligao
时间:
2014-01-14 22:51
echo -e "a\nb\nc" | awk '{a[++i]=$0}END{for(i=1;i<=10;++i)for(j=1;j<=NR;++j)print i-1?a[j]i:a[j]}'
作者:
reb00t
时间:
2014-01-14 22:54
awk -vRS='' '{print $0;for(i=2;i<=10;i++)for(j=1;j<=NF;j++)print $j i}' 1.txt
复制代码
回复
9#
LikeLx
我也是这么写的~ 我去。
作者:
LikeLx
时间:
2014-01-15 08:44
回复
11#
reb00t
基情不言而喻了
作者:
onion0610
时间:
2014-01-15 11:07
回复
8#
yestreenstars
(i>1)?a[j]i:a[j]能解释一下这块的用法么?谢谢
作者:
yestreenstars
时间:
2014-01-15 11:14
回复
13#
onion0610
判断i>1的真假,为真则打印a[j]i,否则打印a[j]。
作者:
onion0610
时间:
2014-01-15 11:23
回复
14#
yestreenstars
又学习了,谢谢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2