【发布时间】:2020-08-29 19:56:44
【问题描述】:
我有一个格式为 dir1/dir2/filename.txt.org 的文件名,我想将其重命名为 dir1/dir2/filename.txt 。如何才能做到这一点。我试过用'.''cut'。分隔符,但它也会删除 .txt
【问题讨论】:
我有一个格式为 dir1/dir2/filename.txt.org 的文件名,我想将其重命名为 dir1/dir2/filename.txt 。如何才能做到这一点。我试过用'.''cut'。分隔符,但它也会删除 .txt
【问题讨论】:
您可以尝试使用 korn shell 变量扩展格式,而不是使用子进程(例如 cut)。这可以更快。
示例:
var1=dir1/dir2/filename.txt.org
var2=${var1%.*}
如果你现在 print $var2 它的值将是 dir1/dir2/filename.txt
% 告诉它删除.* 的最小匹配最右边匹配项(这意味着最右边句点字符之后的任何内容)。
${variable%pattern} - 返回 variable 的值,没有匹配 pattern 的最小结尾部分。
还有其他的变量扩展格式,值得研究一下文档。
【讨论】:
sh -c 使用ksh -c