1

Linuxの1つのディレクトリに次のようなファイルがいくつかあります。

John Smith-data.txt
Peter Walker-address.txt
...

これらのファイル名を読み取り、ファイル名の名前ごとに1つのディレクトリを作成するスクリプトが必要です。

John Smith
Peter Walker

私が行った場合

for name in `ls | awk -F - '{print $1}'`; do mkdir $name; done

以下のディレクトリが作成されます

John
Smith
Peter
Walker

することによって

for name in `ls | awk -F - '{print $1}'`; do mkdir "$name"; done

同じ結果が得られます

次に、

for name in "`ls | awk -F - '{print $1}'"`; do mkdir "$name"; done

次の名前のディレクトリを1つだけ作成します。

John Smith Peter Walker

最後に、私が入ると

for name in "`ls | awk -F - '{print $1}'"`; do mkdir $name; done

再び私は得る

John
Smith
Peter
Walker

何か案は ?引用符の使い方は""

前もって感謝します

ザビエル

4

1 に答える 1

4

何が必要かは完全には明確ではありませんが、おそらく次のようになります。

for i in *.txt; do mkdir "${i%-*}"; done
于 2013-03-11T20:32:31.353 に答える