我有一个包含自动生成的文件的目录,这些文件都以 .sample 扩展名结尾。我想有一种方法可以在一个终端命令中从它们中删除 .sample 扩展名。
我试过这个:
mv ./{$1}*.sample ./$1
但这不起作用,因为我肯定将 {$1} 放置在错误的位置或方式。谁能指出正确的方向?
提前致谢。
我有一个包含自动生成的文件的目录,这些文件都以 .sample 扩展名结尾。我想有一种方法可以在一个终端命令中从它们中删除 .sample 扩展名。
我试过这个:
mv ./{$1}*.sample ./$1
但这不起作用,因为我肯定将 {$1} 放置在错误的位置或方式。谁能指出正确的方向?
提前致谢。
编辑:另见
${parameter#word}
,word
从前面删除parameter
:我记得我需要从我的(英国)键盘上的
#
和键的位置中需要哪些:在左侧是这样的匹配项。在我注意到我每次都必须检查手册页之前:~)%
#
%
这些扩展还支持 shell 通配符:
#
和形式匹配的%
最短扩展word
。您可以使用##
或%%
进行最长匹配。例如:掌握这些扩展是值得的。还有更多,包括(有点古怪)正则表达式支持、子字符串以及设置默认值或获取可变长度的方法。男人 bash,当然。
该
rename
命令接受 Perl 表达式:例子:
在我的 Ubuntu 系统上,
rename
符号链接到包中的prename
脚本perl
。在 Fedora 上,该
rename
命令包含在util-linux-ng包中。做到这一点的众多方法之一: