我想在 Bash 脚本中执行以下操作:
我希望用户输入一个文件名,然后 bash 脚本必须将该文件移动到另一个文件,如下所示。如果用户输入input.tex
,我希望将此文件移动到另一个名为的文件中inputmerged.tex
。
我有以下名为的 bash 脚本myscript.sh
:
#!/bin/bash
mv $1 $2
但是上面的代码需要这样运行:./myscript input.tex inputmerged.tex
第二个输入是多余的,因为我移动到的新文件是同一类型,并且总是merged
在第一个文件名的末尾附加单词。我应该如何做才能摆脱 bash 脚本中的第二个输入?
谢谢
答案1
就像是:
NEWFILE=`echo ${1} | sed "s/\./merged./"`
mv "${1}" "${NEWFILE}"
.
但是,如果名称中有多个字符,此操作将会失败。