ディレクトリ内のすべてのファイルを1つのファイルに連結する必要がありますが、指定された名前のファイルは出力の最上部にある必要があります。 cat * > result
を実行すると、すべてのファイルがアルファベット順に連結されます。 catにファイルvars.css
またはその他のファイルを出力の先頭に置くように指示する方法はありますか? 今のところ私はちょうど000-filename
に最初にする必要があるファイルの名前を変更しましたが、ファイルの名前を変更せずにより良い解決策があるのだろうかと思います。Cat *とファイルの順
答えて
これを達成するには多くの方法がありますが、そのほとんどは別のプログラムを呼び出してファイルのリストを(優先順位で)生成するのに役立ちます。唯一のbashを使用して(とあなたが手動で、フロントに移動したいファイルの数が少ないと仮定して)、それを達成するための
一つの方法は、次のようになります。あなたが持って来るために複数のファイルがある場合は
(GLOBIGNORE=vars.css && cat vars.css *)
リストの前、彼らはGLOBIGNOREに含めることができます。
(GLOBIGNORE=vars.css:other.file && cat vars.css other.file *)
GLOBIGNORE環境変数は、GLOを拡大しながら、それらのパターンにマッチするファイルを無視することはbashに指示しますb(*
など)。詳細については、bash manualを参照してください。
GLOBIGNOREが誤ってシェルの残りの部分に設定されていないことを確認することが重要です(Timがその点を指摘してくれたため)。上記のように、括弧の中に文全体を入れて、いくつかの方法で達成することができます。あなたがカッコを付けずに実行した場合は、後でGLOBIGNOREを設定しないでください。unset GLOBIGNORE
ファイルを明示的に指定する必要がありますが、ファイルが最初に来るようにするには拡張パターンを使用するほうが簡単です。
shopt -s extglob
cat vars.css !(vars.css) > result
!(vars.css)
*
に似ているが、vars.css
以外のすべてと一致します。
それ以外の場合は、vars.css
が他のファイルに対して相対的にソートされるカスタムロケールを定義します。それは本当にシンプルグロブが適しているものではありません。
[Bashのmanページ] /html_node/Pattern-Matching.html)。また、[Linux Journalの記事](http://www.linuxjournal.com/content/bash-extended-globbing)もあります。 – Tim
ありがとう、このソリューションは、これを解決する正しい方法と思われる。 – VictorPrudniy
- 1. 特定のコミット時のリストとcatファイル
- 2. mysql:tail/cat/dev/null * .ibdファイル
- 3. catファイルのlinenumbersの違い| nlとwc -lファイル
- 4. catとreadonlyのファイルを開くのとの比較
- 5. `cat <file>と` cat file`の違いは何ですか?
- 6. Bash:$(cat)と "$ a"の差
- 7. catとlsコマンドのパイプライン化
- 8. Androidデバイスの/ data/user/0のサブディレクトリにあるファイルをcat catすることができません
- 9. 改行なしでcatと2つのファイルをマージする
- 10. catファイルの出力にechoという語を出力する
- 11. 各フォルダにファイル(cat)をマージするUnix
- 12. c#ファイルに書き込むtry catch cat
- 13. crontabからcatファイルが見つかりません - cat:0652-050 - unix AIX
- 14. バッチ処理とCATコマンド
- 15. catとperlをパイプしながら出力をファイルにリダイレクト
- 16. ファイルのcat出力を同じファイルにリダイレクト
- 17. データスクラップfrom pogdesign.co.uk/cat/
- 18. エラーandroid.view.InflateException:android log cat
- 19. recursively cat Eigenのベクトル
- 20. cat `Eq`の` === `Scalatestで
- 21. echoとcat-supressesの改行文字
- 22. 契約されたcatコマンド "cat {#firstNumber ..#secondNumber} .mp3> total.mp3"を使用してbashスクリプトのmp3ファイルをマージする
- 23. ディレクトリ内の各ファイルのcatの内容をcsvレコード
- 24. bash:.gzファイルを連結するためのzcatとcatの不一致
- 25. forループ内のファイル名の組み合わせ(cat、awk)
- 26. unix csvファイルのカラム変更順序
- 27. メソッドのソートとカウントが速くなり、catファイル|並べ替え| uniq -c
- 28. シェルスクリプト:cat vs echo for output
- 29. なぜcat 0>ファイルが動作しないのですか
- 30. catを正規表現の後にファイルに入れよう
'&& 'を使わないと、' GLOBIGNORE'変数はそのコマンドの代わりに(そのシェル内で)グローバルに設定されます。 – Tim
おかげさまで、「GLOBIGNORE」は完全に機能しました。 – VictorPrudniy
括弧は必要ありません。 'GLOBIGNORE = vars.css cat vars.css *'または 'GLOBIGNORE = vars.css:other.file cat vars.css other.file *' – Tim