現在、作業ディレクトリの下に入れ子になっている複数のディレクトリのファイルを少し変更する必要があることがよくあります。ファイルが 1 つだけでワイルドカード/スクリプトが過剰であるため、手動で変更します。
blaz.txt
たとえば、./foo/bar/bleeのファイル名を次のように変更する必要がありますfoobar.txt
。
.
|--foo
|--bar
| blee
|-- blaz.txt
通常、cd
「単一ファイルの検索blee
と実行」でmv blaz.txt foobar.txt
これを行います。フルパスを入力できることはわかっていますが(作業を高速化するための便利なタブ補完機能を使用しています)、より速いパスを好みます。
もっと良い方法がありますか?
答え1
中かっこを使った拡張:
mv foo/bar/blee/{blaz,foobar}.txt
答え2
> touch tmp/foo/bar/baz
> rename baz boo tmp/foo/bar/baz
> ls -l tmp/foo/bar/
total 0
-rw-r--r-- 1 hl hauke 0 May 29 23:08 boo
答え3
サブシェルを使用できます。
( cd foo/bar/blee ; mv blaz.txt boo.txt )
ただし、中括弧の例では+1が必要です。これは素晴らしいです。
答え4
あまりにも汚れていない場合は、シンボリックリンクを作成してコマンドを独自に渡すことができるはずです。
シンボリックリンク生成のガイドライン:http://www.cyberciti.biz/faq/creating-soft-link-or-symbolic-link/
以下のコメントから更新:試してみる価値がありますln -s /directory/thats/super/long/and/a/pita/ /etc/goats/
。mv /etc/goats/foo.txt /etc/goats/bar.txt