2019-05-05

unixコマンドラインでのファイル名展開について

ふと疑問に思ったんだけど、ディレクトリ dir に 001 002 003 ていう3つのファイルがあるとして、

(そしてその他にはファイルは無いとして)、

cat dir/* > all.txt

ていうコマンドを打ったら、3つのファイルがつながったファイルができるけど、これって、

001 002 003 ていう順番で連結してもらえると期待していいんだろうか。

ええと、これってコマンド問題じゃなく、使ってるシェル問題かな。

Vim81 をインストールしようとして、大量のパッチをあててる時にちょっと疑問に思って。

順番狂ったらおかしくなるかも良くわかってないんだけどさ。

  • たぶん何らかのソートはされてるはずだけどシェル依存だし、心配なら明示的にsortしてxargsで受けるかブレース展開で順番を指定するかしたほうがいい鴨。

  • https://anond.hatelabo.jp/20190505131826 シェルの標準を定めたPOSIX によると、マッチしたワイルドカードは"sorted according to the collating sequence in effect in the current locale." とある。英語がよくわからない...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん