私はコードを引数としてCSVファイルを取るBASHコード、すなわちを持っています。ディレクトリには多くのCSVファイルがあり、そのすべてを個別に処理する必要があります。コードを各CSVファイルに適用するにはどうすればよいですか?
答えて
for
が.csv
ファイルをループに構築し、スクリプトに一度に1を渡す使用します
for file in *.csv; do ./mycode.sh "$file"; done
ます。また、このためにfind
コマンドを使用することができます -
find . -name "*.csv" -type f -printf '%f\n' -exec ./mycode.sh {} \;
- 拡張子が
.csv
、先行なしのファイルを見つける./
- R改行や空白または他の特殊文字の他のタイプを含むファイル名を処理するには
が
-print0
を採用しています - :すべてのファイルのアンスクリプトmycode.sh
は、現在のフォルダから
アップデートを返さfind
からデリミタ''
で読み取ってください。また、複数の入力ファイルを処理するためにスクリプトを改善findコマンド
#!/bin/bash
find . -name "*.csv" -type f -print0 |
while IFS= read -r -d '' x; do
./mycode.sh "${x:2}"
done
'-printf'は標準ではありません。ファイル名だけを印刷したいので、代わりに '-print'を使用してください(ただし、先頭のディレクトリも印刷されますが、少なくとも移植可能です)。 –
@gniourf_gniourf:提案していただきありがとうございます、私の更新された答えをチェックしてください! – Inian
まあ、 '-print0'も非標準です。オリジナルの答えは、 'while'ループ(および非標準の' -print0')を必要とせずに、ファイル名のすべてのタイプの面白いシンボル(スペース、改行、グロブなど)を適切に処理することに注意してください。同じ移植性を実現するには: 'find。 -name '* .csv' -type f -exec sh -c 'printf%s \\ n "$ 0"; ./mycode.sh "$ {0#。/}" '{} \; '、またはテーマのバリエーション。 –
- 1. Gitは<<<<<<< HEADをファイルに追加し続けます
- 2. Tortoise svn <<<<をファイルに追加しています!
- 3. Heredoc <<<または<<?
- 4. Swift <<, ><, <=< and > = <
- 5. <<<
- 6. 2つの別々のsvgsは私がそれらを個別にレンダリングした場合、それは大丈夫です、このような</p> <pre><code><svg>svg 1 stuff</svg> </code></pre> <p>などの2つの別々のsvgsその後、別のSVG</p> <pre><code><svg> svg 2 stuff </svg> </code></pre> <p>を持って
- 7. SQL:(私はこの</p> <p><strong>ユーザー</strong><br> ID <br> matricule</p> <p><strong>ドキュメント</strong><br> ID <br> タイトル<br> user_idのようなデータベースのスキーマを持って
- 8. std :: operator <<とstd :: ostream :: operator <<
- 9. は、私が<code>AbstractSet</code>で<code>equals</code>方法は<code>Collection</code>代わりの<code>Set</code>にオブジェクト<code>o</code>を型キャストする理由を知って好奇心のJava
- 10. 私は2つの機能</p> <pre><code>void foo() { std::cout << 1 << std::endl; } void bar() { std::cout << 2 << std::endl; } </code></pre> <p>をお持ちの場合は2個の関数のC++
- 11. 正規表現で特定の値を選択する方法は?</p> <pre><code>(?<=').*(?=') </code></pre> <p>:
- 12. マウスは、マウスが<code>.wrap</code>、<code>.cube</code>と<code>.front</code>のために働いてではなく、<code>.left</code>、<code>.right</code>、<code>.top</code>、<code>.bottom</code>と<code>.back</code>のためにされ
- 13. Neo4J Webadminをリモートコントロールに開く方法は?方法はあり</p> <pre><code>example.com:7474 </code></pre> <p>:
- 14. PHPは、私は、次のファイルに</p> <p><em>クラス/ database.phpで</em></p> <pre><code>require_once("config/config.php"); ... </code></pre> <p><em>のconfig/config.phpの</em></p> <pre><code>... </code></pre> <p>持っ
- 15. に</p> <p>(<strong>doc.pdf</strong>が<strong>PHPスクリプト</strong>と同じディレクトリに存在している)私は</p> <pre><code>$pageCount = $pdf->setSourceFile("doc.pdf"); </code></pre> <p>から<em>PDFパス</em>を設定しようとしていますFPDF
- 16. XAMLは:どのように私はどのように私は<code>ResourceDictionary</code>さん<code>x:Name</code>/<code>x:Uid</code>に基づいて<code>ResourceDictionary.MergedDictionaries</code>内の特定<code>ResourceDictionary</code>のソースを変更することができ、特定のResourceDictionary
- 17. PHP <<< OUTとOUT;
- 18. JAVASCRIPT /クローム:</p> <pre><code>google.com </code></pre> <p>特定のページ
- 19. PHPは</strong>は私<strong>main.php</strong>ファイルである/ <strong>の/ var/WWWで別のディレクトリ
- 20. ハスケル/フレーゲ<= <や= <<連想
- 21. 別のファイルにこの</p> <p>及び第二のリストのように、私はリストを持っている</p> <pre><code>Jack John Tim Jack </code></pre> <p>を別のファイル
- 22. <p>は、私が聞いてもどこで、どのように</p> <pre><code>http://domain.com, http://www, https://domain.com </code></pre> <p></p> <pre><code>https://www </code></pre> <p>にリダイレクトするために?</p>あなたのnginxの設定ファイルで
- 23. クロムを使用してローカルマシンでファイルを開くにはどうすればよいですか? <strong>Webアプリケーション</strong>に<strong>ハイパーリンク</strong>は、Webページ.IF <strong>ローカルマシン</strong>である<strong>ファイル</strong>を開く必要があります<strong>HTML</strong>ページで
- 24. の優先順位! * ++はかっこが必要ですか?</p> <pre><code>!(*(++buffer)) </code></pre> <p>同じもののように:</p> <pre><code>!*++buffer </code></pre> <p>
- 25. 私は、各話次のような構造を持つFirebaseデータベース</p> <ul> <li>ストーリー</li> <li>カード</li> <li>写真</li> <li>ユーザーリレーショナル </ul> <p></li>を持って
- 26. パッケージ私が見て</p> <pre><code>package main </code></pre> <p>を開始して実験し</p> <pre><code>func main() </code></pre> <p>を持ってきた「メイン」とFUNC「メイン」
- 27. Firebaseのキーを比較するには?</p> <pre><code>SOMETHING USERID (<- unique) TIMESTAMP (<- unique within USERID) SOMETHING: 'something', SOMETHING: 'something' </code></pre> <p>がどのように私は私のコード内の別の<code>ID</code>に<code>USERID</code>を比較することができます:
- 28. MySQLの:私は<strong>MySQLの</strong>テーブルに列<strong><code>my_order</code></strong>と<strong><code>alt_order</code></strong>で<strong><code>example</code></strong>と呼ばれている列
- 29. 代替は「<<<」魚
- 30. ドキュメントは<<< OUT
から先頭文字
./
を取り除くために、bash
パラメータ拡張を使用しました。 –