私はCSV出力ファイルを生成するsomo Mysqli querysを実行しています。それらのうちのいくつかは、クエリーパラメータと一致するものがないため、空のCSVファイルです。フォルダ内のすべてのCSVファイルを開いて置き換えるスクリプトが必要です(ファイルが空の場合のみ)。CSVファイルを開き、空の場合はコンテンツを置き換えます。
PHPでもかまいませんが、awk、sed、similarsのいずれかです。
ありがとうございます! bashで
私はCSV出力ファイルを生成するsomo Mysqli querysを実行しています。それらのうちのいくつかは、クエリーパラメータと一致するものがないため、空のCSVファイルです。フォルダ内のすべてのCSVファイルを開いて置き換えるスクリプトが必要です(ファイルが空の場合のみ)。CSVファイルを開き、空の場合はコンテンツを置き換えます。
PHPでもかまいませんが、awk、sed、similarsのいずれかです。
ありがとうございます! bashで
:
file=foo; if [ -w "$file" -a ! -s "$file" ] ; then echo "./." > "$file" ; fi
ファイルfoo
が存在(-w
)及び(-a
)がゼロ長ファイル(! -s
)である場合は、空の内容上./.
を書き込みます。 touch foo
でテストし、そのスクリプトを実行することができます。
コマンドの最後のカンマを削除しています:' file = foo;もし[-w "$ file" -a! -s "$ file"];エコー "./。" > "$ file"; fi 'ありがとう! –
ええ、いくつかの暴走した見積もりがあっただけで、気づいて削除されました。 –
ちょうどもう1つの質問ですが、フォルダ内のすべてのCSVファイルに対して、これをどうすればいいですか?このようなことを試してみてください: 'file = * .csv;' –
1.空のファイルは実際には空であるかどうかは、ヘッダーがないためですか? 2.置き換えられる空のコンテンツは何ですか? 3.あなたの問題を解決しようとしたらどうしましたか? –
はい、ファイルが本当に空で、 "./。"と置き換えたい場合は、mysqli_num_rowsを試しました。戻り値が0の場合は、 'fopen'を使ってファイルを作成してください。 –