我有一个foo001.h21.tif
形式的文件列表,我需要重命名。我知道如何替换文件名末尾的strip,但不是开头。我基本上需要将其删除,以便将其保存为001.h21.tif
。通常我会使用:
for i in *.tif; do mv $i ${i%%.tif}; done
捕获.tif
之前的所有内容。有人可以帮我弄清楚如何采取相反的方式吗?
谢谢!
答案 0 :(得分:1)
%
和%%
后缀是#
和##
对前缀的后缀。在您的情况下,您可以写:
for filename in foo*.tif; do mv "$filename" "${filename#foo}"; done
请参阅§3.5.3 "Shell Parameter Expansion" in the Bash Reference Manual。