特定の文字で始まるすべてのディレクトリをインポートし、結果のリストをtxtファイルに保存するには、いくつかのシェルスクリプトを作成する必要があります。
例えば。
-目次はすべて大文字で作成
- 「Ab」で始まるすべてのディレクトリ
どんな提案がありますか?
答え1
目次はすべて大文字で表示されます。
shopt -s nullglob
for d in [[:upper:]]*/ ; do
echo "$d"
done > uppercase-dirs.txt
Ab
次に始まるすべてのディレクトリ:
shopt -s nullglob
for d in Ab*/ ; do
echo "$d"
done > Ab-dirs.txt
詳細については、次を参照してください。Bash マニュアルのパターンマッチングセクション。
ディレクトリに改行文字などの珍しい文字を含めることができます。この場合、各ディレクトリをテキストファイルの新しい行にエコーすると、誤った結果が発生します。この問題を解決する 1 つの方法は、 nul 文字を使用して各ディレクトリを区切ることです。代わりにprintfを使用できます。
shopt -s nullglob
for d in Ab*/ ; do
printf "%s\0" "$d"
done
また、shopt -s nullglob
パターンが一致しない場合も処理する必要があることに注意してください。それがなければ、一致するものがなければAb*/
拡張され、Ab*/
これは望むものではありません。Ab*/
一致するものがない場合は、空の文字列に展開されます。
詳細については、次を参照してください。shopt
Bash マニュアルの一部。