查找并显示在第几行
1
| awk '/要匹配字符串/{print NR}' 文件名
|
打印文件指定行:
1 2 3
| awk 'NR==123105 || NR==123106 {print; exit}' test.txt
awk '{if(NR<=123108 && NR>=123105) print $0}' test.txt
|
提取文件中的指定列:
1
| cut -f1 tidx_sorted.txt > tidx_sorted2.txt
|
全匹配:
1
| cat inverted_tidx_0.txt | grep -w "term:一" > tmp1.txt
|
只打印某些行:
1
| awk -F"[" '{for(i=1;i<=25;i++) print $i}' tmp1.txt > tmp1_s.txt
|
打印匹配到的行号:
1
| grep -n "v0677v2cgq5" one2.txt
|
按照分隔符分割,只取第一列:
1
| awk -F'\t' '{print $1}' tidx/1/doc_id.data > tidx_docid_1.txt
|
去掉某列
1
| awk ' { $5=null;print $0 }'
|
去掉最后一列
1
| awk '{for(i = 1; i < NF; i++) printf("%s ", $i); printf("\n")}' a.txt
|
找出文件new有,但文件old没有的数据
1
| awk 'NR==FNR{a[$0]=1}NR>FNR{if(a[$0]!=1)print}' old.txt new.txt > black.txt
|
忽略checkup字段
1
| awk '{ gsub(/checkup_time_normalized:1,|checkup_time_normalized:2,|checkup_time_normalized:3,|checkup_time_normalized:4,/,""); print $0 }' res_0_tight.txt > res_tight.txt
|
过滤某列等于特定值的行
1 2
| awk '{if($1!="regist") print $0}' term_len_all.txt > term_len_all_new.txt awk -F'\t' '{if($6!="0.000000") print $0}' data.txt > new_data.txt
|
统计行数
统计所有文件夹下所有文件行数
第一列累加
1
| awk '{sum +=$1};END {print sum}' xxx
|
删除某些行
1
| sed -i '1,20d' inverted_len.txt
|
每x行分割文件
1
| split -l 500000 sorted_inverted_tight.txt
|
忽略字符集,按照ASCII码排序;指定主内存缓存大小为80%;并行数为6;使用指定目录而非/tmp作为排序时的临时目录
1
| LC_ALL=C sort forward_tidx.txt -S 80% --parallel=6 -T /data/tmp/sort > forward_tidx_sorted.txt
|
在当前目录下递归查找文件内容