我在一个文件夹中有一堆文件,我需要用另一个名字复制以防万一,如果文件第一个字符是按字母顺序排列的,那么删除这个字符并留下所有其他字符,不管是数字,字母,特殊标记还是随你。这么少的exsapmles:
R123456.txt - >应复制为123456.txt
Y1235465.jpeg - >应复制为1235465.jpeg
736628487.txt - >什么都不做
我使用过这个命令:
for file in * ; do cp $file $(echo $file |sed 's/[A-Za-z]//g'); done
但这也删除了我想留下的文件扩展名......
BR JII
答案 0 :(得分:1)
使用
s/^[A-Za-z]//
在缓冲区的开头有一个单独的字母字符
答案 1 :(得分:0)
你也可以试试这个;
<key>NSContactsUsageDescription</key>
<string>This app requires contacts from phone book.</string>
man cp; -n, - no-clobber 不要覆盖现有文件(覆盖以前的-i选项)
2&gt; / dev / null:删除任何“'736628487.txt'都是同一个文件”。
例如:
for file in * ; do cp -n $file $(echo $file |sed 's/^[A-Za-z]//') 2>/dev/null; done