file1
正しいパスや無効なパスなど、パスを除くサブディレクトリからすべてのファイル名を取得する必要があります./folder/file1
。私のユースケースは、/usr/share/terminfo
ディレクトリ内の利用可能なすべてのterminfoファイル名を検索することです。ただし、これらは以下のように他のサブディレクトリセット内にあります。
terminfo ア ls
1 3 5 7 9 A c e f h j l m n o P Q s u w X
2 4 6 8 a b d E g i k L M N p q r t v x z
terminfo ア cd 1
1 ア ls
1178 1730-lm
1
3
ファイルがこれらのディレクトリまたはサブディレクトリ内にあることがわかります。A
各サブディレクトリにはすべてのファイル名が必要です。42 directories, 2720 files
全体として、手動プロセスが多すぎると疲れてしまう可能性があります。
答え1
find /usr/share/terminfo -type f -exec basename {} \;
答え2
必要なファイル名が2つのレベルの下にあり、/usr/share/terminfo
その下に他のディレクトリがないことがわかっているので、これは簡単な解決策になります(find
一度だけ実行cut
)。
$ find /usr/share/terminfo -type f | cut -d '/' -f 6
またはsed
少し「重い」と交換してください。
$ find /usr/share/terminfo -type f | sed 's#^.*/##'
置換は、sed
各出力行の最後の行まですべてを削除します。/
find
答え3
1回使用木
(レントリーの詳細)
tree -i /usr/shar/terminfo
または、ディレクトリを削除するには:
tree -iF /usr/shar/terminfo | grep -v /
2使用エルエス
ls -R /usr/share/terminfo | grep -v /
ls /usr/share/terminfo/*/* | grep -o '[^/]*$'
basename -a $(ls /usr/share/terminfo/*/*)