gpt4 book ai didi

linux - 使用我的 awk 脚本删除无用/空行

转载 作者:太空宇宙 更新时间:2023-11-04 09:10:36 24 4
gpt4 key购买 nike

对于我的 bash/html 中的 CGI,我有这个脚本(只是 awk 脚本,其余代码只是一个简单的 hmtl 代码):

for fn in /var/www/cgi-bin/LPAR_MAP/*; do
awk -F',|;' 'NR==1 { split(FILENAME ,a,"[-.]");
print "DATE ========================== : " a[4] }
/'$test'/ {
print ""
print "LPARS :" $2
print "RAM : " $5
print "CPU 1 : " $6
print "CPU 2 : " $7
print ""
print ""}' $fn;
done

我的脚本分析了许多 CSV 文件并显示我需要的信息:

DATE ========================== : 20180122

LPARS :miaibye01
RAM : 60
CPU 1 : 1.0
CPU 2 : 2



LPARS :miaibg04
RAM : 99
CPU 1 : 1.5
CPU 2 : 3



LPARS :miaibk07
RAM : 52
CPU 1 : 2.5
CPU 2 : 5

DATE ========================== : 20180124

LPARS :miaibye01
RAM : 60
CPU 1 : 1.0
CPU 2 : 2



LPARS :miaibg04
RAM : 99
CPU 1 : 1.5
CPU 2 : 3



LPARS :miaibk07
RAM : 52
CPU 1 : 2.5
CPU 2 : 5



LPARS :miaibv176
RAM : 0.25
CPU 1 : 0.1
CPU 2 : 1

...

但有时,当我的脚本找不到所询问的信息时,它会显示所询问的信息并显示脚本在其中搜索信息的文件的日期。输出是:

DATE ========================== : 20180923
DATE ========================== : 20180924
DATE ========================== : 20180925
DATE ========================== : 20180926
DATE ========================== : 20180927
DATE ========================== : 20180928
DATE ========================== : 20180929
DATE ========================== : 20180930
DATE ========================== : 20181001

我搜索了如何使用我的 awk 脚本删除(或不显示)这些无用的行,但我不知道如何......你有什么想法吗?

最佳答案

你可以简单地这样做:

for fn in /var/www/cgi-bin/LPAR_MAP/*; do
awk -F',|;' -v test="$test" '
NR==1 {
split(FILENAME ,a,"[-.]");
}
$0 ~ test {
if(!header++){
print "DATE ========================== : " a[4]
}
print ""
print "LPARS :" $2
print "RAM : " $5
print "CPU 1 : " $6
print "CPU 2 : " $7
print ""
print ""
}' $fn;
done

我只在 $0 ~ $test 第一次打印标题。请注意,我稍微更改了您的代码以创建一个等于 $test 的 awk 变量。对代码注入(inject)更加健壮。

关于linux - 使用我的 awk 脚本删除无用/空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57204743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com