linux - 用我的 awk 脚本删除无用/空行
问题描述
对于我在 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
. 代码注入将更加健壮。
推荐阅读
- flutter - 将人员编号添加到我的烹饪应用程序的正确功能是什么?
- python - 计算一个IP地址属于哪些子网
- javascript - 如何使用反应钩子形式验证数组?
- webview2 - Webview2 没有加载网站
- c++ - Dynamic array of Linear search funcion implementation
- python - Matplotlib 动画在 Colab 中不起作用
- java - 如何将包含 BigIntegers 的文件拆分为 2 个相等的部分?
- python - 在特定条件下修改python或linux中的txt文件(例如找到相同的值和最大/最小时间)
- java - 无法排序或打印出数组
- salesforce - 价格手册可以手动共享吗?如何?