ls | less | grep "estimate" -v | \
awk '{ for ( i =1; i <= 35; i++ ) { if ( NR >= 50*i - 49 && NR <= 50*i ) print $0 >> "./dir/dir"i".txt" }}'
目前为止,用得最复杂的awk命令行。情景是,在当前文件夹下面有1730+个小文件夹,还有几个“estimate”开头的文本文件。需求是,将这些小文件夹的名称每50个形成一个分组的文本文件,类似于dir1.txt, dir2.txt, dir3.txt, ...... , dir35.txt。
由几个小知识点:
- for计数循环;
- if判断条件中的逻辑与;
- print循环输出到指定文件。
网友评论