linux文件重命名

文件名显示异常

跑测CTS,linux环境看跑测结果log file显示没问题,倘若windows下看log file名却显示异常,不太方便操作。
windows下cts log文件名显示异常

问题出在哪里

linux环境下文件名可以显示正常,比如:
device_logcat_test_192.168.2.62:5555_16411522571240500871.txt
由于基于Ethernet adb,所以ip地址后面会有:5555,问题就出在 : ,算是特殊字符,windows文件名带有 : ,会显示异常。手动改成 _,则文件名正常显示。

批量改名

跑完测试,先在linux环境下把文件名改了,把 : -> _ 即可。

#!/bin/bash
# rename : to _ for cts log
# method1:
for f in `ls | grep :`; 
    do echo $f | mv $f `sed 's#:#_#g'`;
done

# method2:
# ls | grep : | awk -F : '{print "mv "$0" "$1"_"$2}' | bash

运行一下脚本,windows看下结果,显示正常了。
windows下cts log文件名显示正常

扩展

顺带学习下xargs的用法:

xargs很强大的,
-n1,每次传递一个命令参数给命令行
-i,默认传递{}:管道之前的标准输出的内容,等同于-I{} or -I {},
-I replace-str,指定替换字符串,字符串在 xargs 扩展时会被替换掉

比如
echo 'one two three four' | xargs -n1 | xargs -I f echo f
one
two
three
four
或者
echo 'one two three four' | xargs -n1 | xargs -I {} echo {}
one
two
three
four

参考:
[1]: Linux中批量修改文件
[2]: Linux xargs 命令
[3]: Linux shell常用脚本命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值