我想重命名I文件,這是一個變量,但我有問題。重命名文件,而不是文件路徑中的目錄
$ mkdir -p ~/foo/fooYes/
$ touch ~/foo/fooYes/fooYes.txt
$ OUTPUT=~foo/fooYes/fooYes.txt
$ echo $OUTPUT
~/foo/fooYes/fooYes.txt
$ rename 's/fooYes/fooNo/' "${OUTPUT}"
Can't rename '/Users/medialab/foo/fooYes/fooYes.txt' to '/Users/medialab/foo/fooNo/fooYes.txt': No such file or directory
兩個問題:
爲什麼告訴我,我不能重命名?
更重要的是,我想重命名fooYes.txt,而不是它的父目錄。
我使用上面的簡化示例作爲shell腳本的填充我有其中「$ {OUTPUT}」是ffmpeg命令的結果。我想重命名「$ {OUTPUT}」的基本名稱,但由於它與其父目錄共享相同的名稱(當然不包括擴展名),因此它是父目錄,而不是重命名的「$ {OUTPUT}」。
您似乎已經創建目錄'fooYes',但不是'fooNo';您正嘗試複製到不存在的目錄。 ''/Users/medialab/foo/fooNo/fooYes.txt':沒有這樣的文件或目錄' –
嘗試使用mv命令(移動)而不是重命名 – Mike76
@ Mike76將mv允許我重命名一個變量? – Bleakley