0
我有一大堆的文件格式UNIX移動命令的正則表達式
blahblah1.java.bak
,blahblah2.java.bak
等
而且我想改變與.bak
只是.java
結束的所有文件。是否可以使用mv
命令執行此操作?也許像mv (.*\.java)\.bak $1
?
我有一大堆的文件格式UNIX移動命令的正則表達式
blahblah1.java.bak
,blahblah2.java.bak
等
而且我想改變與.bak
只是.java
結束的所有文件。是否可以使用mv
命令執行此操作?也許像mv (.*\.java)\.bak $1
?
,如果你是在bash有什麼不對
for i in *java.bak ; do mv "$i" `basename "$i" .bak` ; done
或
for i in *java.bak ; do mv "$i" "${i%.bak}" ; done
。命令行文件匹配與Perl中的正則表達式並不完全相同,或者在bash中進行比較,並且無法捕獲組。請注意區別:例如,*
和.
具有非常不同的含義。
沒什麼,只是不知道你能做到這一點:D –
我一時困惑;這與老年人發生。在我看來,每天都有新的功能添加到bash(「*在我的時代,我們沒有花哨的$ {i%.pdf},我們使用basename,我們很高興擁有它*」),我認爲bash可能已經獲得了像真正的正則表達式:-) – January