存在若干文件:
abc-192.168.1.1.txt
abcd-192.168.1.2.txt
想把其中的 ip 给删掉,
变成
abc.txt
adcd.txt
有什么方便的命令吗
abc-192.168.1.1.txt
abcd-192.168.1.2.txt
想把其中的 ip 给删掉,
变成
abc.txt
adcd.txt
有什么方便的命令吗
|
akatquasMar 16, 2019 via iPhone
1
我也蹲一个答案(狗头
|
|
lzojeMar 16, 2019 via Android
2
可以试试直接重命名
|
|
geelawMar 16, 2019
3
Get-ChildItem | Rename-Item -NewName { [regex]::Replace($_.Name, '^(.*?)-?[0-9.]+[0-9](\..*?)$', '$1$2') } -WhatIf
先这样看一遍确定是你想要的效果,然后去掉 -WhatIf |
|
wsh1108Mar 16, 2019 via Android
4
可以 rename,网上也有批量修改文件名的小工具
|
|
0ZXYDDu796nVCFxqMar 16, 2019 via Android
7
ls
for sed mv done |
|
hanxiV2EXMar 16, 2019 via Android
9
ls -1|grep '-[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | while read line;do
newname=$(echo $line | cut -c .....) mv $line $newname done 正则可能写的有问题,另外 cut 忘记如何把减号后面的字符串切掉了,手机上写的,自己查下 man 吧 |
|
radcMar 16, 2019
10
如果全是例子中格式,可以直接用横线切割。。然后保留第一部分,补一个扩展名.txt
for i in *-*.txt; do mv "$i" "$(echo $i | awk -F- '{print $1}').txt"; done |
|
busfoolMar 16, 2019 via Android
11
找到第一个-,找到最后一个.txt ,切割字符串
|
|
zyp0921Mar 16, 2019
13
for i in `ls` ;do echo $i;done
|
|
xabcMar 16, 2019 via Android
14
|
|
ETiVMar 16, 2019
15
for i in $(find *.txt); do
src=$i; dst=$(echo $i | sed -E 's;\-[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3};;g' ); echo mv $src $dst; done 想执行就去掉倒数第二行的 echo IP 的替换正则并不严格,999.999.999.999 的格式也会被清空 |
|
HopetreeMar 16, 2019
16
任何一个语言写几句代码就能做到吧,再不行,Excel 都可以做到
|
|
mingl0280Mar 17, 2019
17
|
|
mingl0280Mar 17, 2019
18
如果有多于一个横杠的情况,将$1 替换成$1$2...$n,从大到小替换就完了……
|