- 论坛徽章:
- 1
|
本帖最后由 davidbeckham921 于 2012-10-22 18:01 编辑
cat 1.cfg
#11111111
#22222222
cat 2.cfg
#33333333
#44444444
awk 'substr($0,1,1)=="#"{printf $0" "} k=system("basename "FILENAME){print "123 "k}' `ls ../awk/*.cfg`
#11111111 1.cfg
#22222222 1.cfg
#33333333 2.cfg
#44444444 2.cfg
想要
#11111111 123 1.cfg
#22222222 123 1.cfg
#33333333 123 2.cfg
#44444444 123 2.cfg
这种效果。
文件列表ls ../awk/*.cfg这个是因为有绝对路径,只想要文件名。用awk应该怎么写呢?
----------------------------------
7楼和10楼是我想要的。谢谢大家!
7楼jason680
cmd="basename "FILENAME; cmd | getline k;
10楼L_kernel
$ awk 'substr($0,1,1)=="#"{printf $0" "}{"basename "FILENAME | getline k;}{print "123 "k}' `ls ../awk/*.cfg`
#11111111 123 1.cfg
#22222222 123 1.cfg
#33333333 123 2.cfg
#44444444 123 2.cfg
再次感谢各位热心帮忙!谢谢! |
|