假设我的文件中有以下行:
HELLO,1410250216446000,1410250216470330,1410250216470367,329,PE,B,T,GALU,[ , , T, I],3.38,3,A,A, , , , ,0, ,0,0, ,-Infinity,-Infinity,-Infinity, ,,0
如果我使用
grep -a -w HELLO my_file | head -10 | awk -F '[\t,]' '{print NF}' | less
输出为32。
但我不想在[]中计算逗号。我的意思是[,,T,I]必须算作一个单词。这样我的查询输出就是29。
在Linux中执行此操作的一行命令是什么?
答案 0 :(得分:0)
使用sed
删除括号内的内容。然后继续计算
grep -a -w HELLO my_file|sed "s/\[.*\]//g" | head -10 | awk -F '[\t,]' '{print NF}' | less
<强>输出强>
29