我的目标是找出第二个字段的长度,如果长度超过五个字符,那么我需要使用shell脚本/命令显示整个记录。
echo "From the csv file"
cat latency.csv |
while read line
do
latency=`echo $line | cut -d"," -f2 | tr -d " "`
length=$(echo ${#latency})
if [ $length -gt 5 ]
then
echo $line
fi
done
我的代码没有任何问题,但是作为UNIX / Linux,我认为应该有一种更简单的方法来做这些事情。
有一种这样简单的方法吗?
答案 0 :(得分:3)
awk -F, 'length($2)>5' file
这应该有效
<强>更新强>
awk -F, '{a=$0;gsub(/ /,"",$2);if(length($2)>5)print a}' file
答案 1 :(得分:1)
awk -F, '{
t = $2
gsub(/ /, x, t)
if (length(t) > 5)
print
}' latency.csv
或者:
perl -F, -ane'
print if
$F[1] =~ tr/ //dc > 5
' latency.csv