替换某文件夹下所有文件中的字符串
1 | grep "John Doe" -rl ./ | xargs sed -i "s/John Doe/lixiang/g" |
比较两个文本文件。以前者作为参考,不一致的输出行号
1 | # awk '{if(NR==FNR){arr[NR]=$0}else{if(arr[FNR]!=$0){print FNR}}}' test test1 |
解析
当读取第一个文件的时候NR和FNR都是从1开始计数,这时NR==FNR 将行全部内容赋值给数组arr。当读取到第二个文件时,NR!=FNR此时表示已读第二个文件,将arr的内容和$0进行比较如果不相同,则输出行号。
awk
1 | # echo "hello lixiang" | awk '{$2="parim,"; $3="how"; $4="are"; $5="you?"; print $0}' |