Bash——awk命令和sed命令

cat train.txt | awk '$1<163481 {print $1 "." $2}' > target.txt

    该命令将train.txt中的每一行以"."为分隔符划分为2段,然后选取第一段小于163481的行,输出到指定文件target.txt中。

awk 'condition {print ...}'


 

  val.txt每行为XXX.jpg..,希望删除最后连个小数点:

sed -i 's/\.\.//g' val.txt

    sed命令行格式为:

sed [-nefri] [动作] 输入文本            

    -i:直接修改文件内容,而不是由屏幕输出

    -n:只有经过sed特殊处理的那行才会输出

    小数点.需要使用转移符\,因为在正则表达式里,.表示任意一个字符,*表示重复,.*表示任意一串字符


 

   train.txt包含了所有训练图片名称,却发现没有给标签,本来希望有对指定行进行替换的命令,但是sed 's///g'好像没有制定某些行的参数,后来发现sed的function有打印p这个参数,下列语句可以方便地列出train.txt的第1-6行:

cat train.txt | sed -n '1,6p'
    所以想到用下列语句分别对两类给标签,重定向到两个文件,然后合并,不过类数很多时这个方法好想不适用:
cat train.txt | sed -n '1,68580p' | sed 's/jpg/jpg 0/g'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值