この構成でファイルまたはディレクトリの名前のみをエコーする必要があります。
ls -Al | while read string
do
...
done
ls -Al
出力:
drwxr-xr-x 12 s162103 studs 12 march 28 12:49 personal domain
drwxr-xr-x 2 s162103 studs 3 march 28 22:32 public_html
drwxr-xr-x 7 s162103 studs 8 march 28 13:59 WebApplication1
たとえば、私が試してみると:
ls -Al | while read string
do
echo "$string" | awk '{print $9}
done
次に、スペースなしのファイルとディレクトリのみを出力します。ファイルまたはディレクトリに「パーソナルドメイン」などのスペースがある場合、「パーソナル」という単語のみになります。
非常にシンプルなソリューションが必要です。たぶん、awkよりも良い解決策があるでしょう。
ls -Al | while
。シンプルで信頼性の高い方法はfor string in *; do echo "$string"; done
です。
ls
ですか?解析ls
と「すべて* nixで動作し、何かが起こっても壊れません」はうまくいきません。
ls -Al *' '*
?ls
の出力を解析しても、良い結果が得られることはありません。