SHELL行处理:替换行中某域
文件file,行中的各个域以“|”分开;
若某域为空,则替换为变量$aa,其他域保持不变。
注意:文件有N行,N很大。
[解决办法]
- C/C++ code
awk -F'|' 'OFS="|" {for(i=1;i<=NF;i++){if($i=="") $i="'$aa'"}print $0}' file > tmpfilemv tmpfile file
[解决办法]
awk -F'|' 'OFS="|" {for(i=1;i<=NF;i++){if($i=="") $i="'$aa'"}print $0}' file > tmpfile
mv tmpfile file
[解决办法]
[解决办法]
在处理大文件的时候 awk好像比sed快
虽然是2句 但是第二句的执行速度是非常快的。
就算是100G的东西 在同一个分区里 mv一下 也是瞬间。