如何削减以及从文件BASH如何削减,并覆盖从文件BASH某一段
含量dl.txt覆盖某一部分:“127 www.example.com”
我曾尝试过:
#cat dl.txt|egrep -v "^[0-9]+.[ ]" > dl.txt
#cat dl.txt|egrep "www.example.com" > dl.txt
这可能是在awk中完成的吗?
如何削减以及从文件BASH如何削减,并覆盖从文件BASH某一段
含量dl.txt覆盖某一部分:“127 www.example.com”
我曾尝试过:
#cat dl.txt|egrep -v "^[0-9]+.[ ]" > dl.txt
#cat dl.txt|egrep "www.example.com" > dl.txt
这可能是在awk中完成的吗?
如果你的意思是你要改变的文件dl.txt
的内容,并删除“127”,您可以使用SED:
sed -i.bak 's/127. //' dl.txt
然后你会看到dl.txt
改变和dl.txt.bak
是备份副本。
同样,如果你想删除“www.example.com”
sed -i.bak 's/www.example.com//' dl.txt
或者,如果你想删除一切直到并且包括在每行的空间:
sed -i.bak 's/.* //' dl.txt
或者用awk:
awk '{print $1}' dl.txt
127.
awk '{print $2}' dl.txt
www.example.com
或者你可以像这样awk完成这件事几乎在原地,只覆盖原有如果T他AWK是成功的:
awk '{print $2}' dl.txt > $$.tmp && mv $$.tmp dl.txt
什么就是你们的榜样输出? – cmh
剪切和覆盖什么? – user3004356
命令后必须是dl.txt文件吗? –