如何将更改应用于AIX中许多文件中的某些行?

问题描述 投票:0回答:1

我有85个具有此类行的文件:

2019-10-29-06-00;/dev/xx;128.00;106.54;/var/
2019-10-29-06-00;/dev/xx;256.00;180.79;/usr/
2019-10-29-06-00;/dev/xx;384.00;191.13;/var/
2019-10-29-06-00;/dev/xx;256.00;255.37;/var/
2019-10-29-06-00;/dev/xx;3200.00;2679.36;/var/opt/
2019-10-29-06-00;/dev/xx;256.00;255.07;/var/
2019-10-29-06-00;/dev/xx;64.00;62.67;/etc/
2019-10-29-06-00;/dev/xx;1664.00;1163.33;/opt
2019-10-29-06-00;/dev/xx;256.00;146.13;/opt/
2019-10-29-06-00;/dev/xx;2176.00;952.90;/opt/
2019-10-29-06-00;/dev/xx;22784.00;10353.91;/opt/
2019-10-29-06-00;/dev/xx;256.00;253.64;/
2019-10-29-12-00;/dev/xx;256.00;229.92;/home
2019-10-29-12-00;/dev/xx;1024.00;556.73;/opt
2019-10-29-12-00;/dev/xx;256.00;180.79;/usr/
2019-10-29-12-00;/dev/xx;384.00;190.90;/var
2019-10-29-12-00;/dev/xx;256.00;255.37;/var/
2019-10-29-12-00;/dev/xx;128.00;127.63;/
2019-10-29-12-00;/dev/xx;256.00;76.86;/opt/
2019-10-29-12-00;/dev/xx;2176.00;1682.93;/opt/
2019-10-29-12-00;/dev/xx;256.00;145.66;/opt/
2019-10-29-12-00;/dev/xx;2176.00;952.90;/opt/
2019-10-29-12-00;/dev/xx;22784.00;10421.72;/opt/
2019-10-29-12-00;/dev/xx;256.00;253.64;/
2019-10-29-18-00;/dev/xx;1024.00;138.8;/
2019-10-29-18-00;/dev/xx;5248.00;4230.34;/usr
2019-10-29-18-00;/dev/xx;2560.00;499.37;/var
2019-10-29-18-00;/dev/xx;3584.00;67.79;/tmp
2019-10-29-18-00;/dev/xx;256.00;25.9;/home
2019-10-29-18-00;/dev/xx;1024.00;467.27;/opt
2019-10-29-18-00;/dev/xx;384.00;0.38;/usr/
2019-10-29-18-00;/dev/xx;256.00;21.36;/
2019-10-29-18-00;/dev/xx;512.00;216.84;/opt/

所需的输出:

2019-10-29-06-00;/dev/xx;128.00;21.46;/var/
2019-10-29-06-00;/dev/xx;256.00;75.21;/usr/
2019-10-29-06-00;/dev/xx;384.00;192.87;/var/
2019-10-29-06-00;/dev/xx;256.00;0.63;/var/
2019-10-29-06-00;/dev/xx;3200.00;520.64;/var/opt/
2019-10-29-06-00;/dev/xx;256.00;0.93;/var/
2019-10-29-06-00;/dev/xx;64.00;1.33;/etc/
2019-10-29-06-00;/dev/xx;1664.00;500.67;/opt
2019-10-29-06-00;/dev/xx;256.00;109.87;/opt/
2019-10-29-06-00;/dev/xx;2176.00;1223.1;/opt/
2019-10-29-06-00;/dev/xx;22784.00;12430.1;/opt/
2019-10-29-06-00;/dev/xx;256.00;2.36;/
2019-10-29-12-00;/dev/xx;256.00;26.08;/home
2019-10-29-12-00;/dev/xx;1024.00;467.27;/opt
2019-10-29-12-00;/dev/xx;256.00;75.21;/usr/
2019-10-29-12-00;/dev/xx;384.00;193.1;/var
2019-10-29-12-00;/dev/xx;256.00;0.63;/var/
2019-10-29-12-00;/dev/xx;128.00;0.37;/
2019-10-29-12-00;/dev/xx;256.00;179.14;/opt/
2019-10-29-12-00;/dev/xx;2176.00;493.07;/opt/
2019-10-29-12-00;/dev/xx;256.00;110.34;/opt/
2019-10-29-12-00;/dev/xx;2176.00;1223.1;/opt/
2019-10-29-12-00;/dev/xx;22784.00;12362.3;/opt/
2019-10-29-12-00;/dev/xx;256.00;2.36;/
2019-10-29-18-00;/dev/xx;1024.00;138.8;/
2019-10-29-18-00;/dev/xx;5248.00;4230.34;/usr
2019-10-29-18-00;/dev/xx;2560.00;499.37;/var
2019-10-29-18-00;/dev/xx;3584.00;67.79;/tmp
2019-10-29-18-00;/dev/xx;256.00;25.9;/home
2019-10-29-18-00;/dev/xx;1024.00;467.27;/opt
2019-10-29-18-00;/dev/xx;384.00;0.38;/usr/
2019-10-29-18-00;/dev/xx;256.00;21.36;/
2019-10-29-18-00;/dev/xx;512.00;216.84;/opt/

我尝试这样做(我grep“ 2019-10”,因为文件名中有日期,并且我只对文件名中带有“ 2019-10”的文件感兴趣:]

for i in $(ls *.txt | grep "2019-10")
do 
awk -F';' -vOFS=';' '/2019-10-29-12-00/{$4=$3-$4;} 1' $i > BACK-$i
done

但是它不起作用...而且我也不知道为什么!你能告诉我怎么做吗?

awk sed aix
1个回答
0
投票

尝试一下:

© www.soinside.com 2019 - 2024. All rights reserved.