最も高いディレクトリ番号に基づいてディレクトリを入力したいと思います。
シャオル: /home/cg/root/2018/01
。このパスには、次のような複数のディレクトリがあります。
15
16
17
So on..
この場合、最上位ディレクトリがある17
ので、そのディレクトリに移動したいのですが17
…というディレクトリが18
存在する場合は、そのディレクトリに移動したいと思います18
。
cd
コマンドを使用してこれを行う方法はありますか?
良い:
cd /home/cg/root/2018/01/$(ls |tail -1)
答え1
find
sort
以下を使用してhead
これを行うことができます。
cd $(find /home/cg/root/2018/01/* -type d | sort -r | head -1)
問題を解決しなければならない
答え2
それだけです。
cd $(ls /home/cg/root/2018/01 | sort -n -r | awk 'NR==1 {print $1})
答え3
関数内で(一時)bash配列を使用する:
cdhighest() {
local dirs=(/home/cg/root/2018/01/*)
cd -- "${dirs[-1]}"
}
その後、実行すると、cdhighest
/home/cg/root/2018/01の下の最後のディレクトリに移動します。
引用:
答え4
簡単な方法でこれを行うことができます。
cd /home/cg/root/2018/01; cd `ls -r | head -n 1`