我使用grep从发生特定字符串的文件中获取行号。如果我希望这些行号出现在行上而不是垂直排成一行,该怎么办?
cFont=$(grep -icE "<font *" $htmlFile)
if [ $cFont -gt 0 ] ; then
echo "There are $cFont line(s) with <font> tag, they are: " >> ~/Desktop/errors.txt
grep -inE "<font *" $htmlFile |cut -f1 -d: >> ~/Desktop/errors.txt
fi
输出是
There are 4 line(s) with <font> tag, they are:
14
43
46
72
我希望它是
There are 4 line(s) with <font> tag, they are:
14, 43, 46, 72
答案 0 :(得分:4)
使用:
grep -inE "<font *" $htmlFile |cut -f1 -d:| tr '\n' ','|sed -e "s/,$//" >> ~/Desktop/errors.tr
答案 1 :(得分:2)
您可以使用awk:
而不是cut -f1 -d:
awk -F: '{printf "%s, ", $1} END {print ""}'