awk system函数实例

要复制写日志文件,目录结构如下:

第一级:

/logs

第二级:

server1
server2
....

第三级:

HR
Staff
Travel
...

第四级:
http
https

第五级
access.20090721.gz
errors.20090721.gz
access.20090722.gz
errors.20090722.gz
......

希望做个脚本,将这些文件复制到 /logs/archive目录下,新文件名改成:

access.HR.server1.http.20090721.gz
errors.Staff.server2.https.20090721.gz
.....

这个如何做到?
 
 
find /logs/server* -type f | awk -F"[/.]" '{system("cp "$0" /logs/archive/"$6"."$4"."$3"."$5"."$7"."$8)}'
 
在awk脚本中,想要system函数中执行某调命令,想往里传一参数,比如:
var=“/tmp/file”;
system("cat var");         #想执行 “cat /tmp/file”命令
system("cat /tmp/file");   #这样是没有问题
 
awk 'BEGIN{var = "cat a.txt";system(var)}'
 
 

你可能感兴趣的:(shell,职场,休闲)