2016-11-29 11 views
-3

私はCSV出力ファイルを生成するsomo Mysqli querysを実行しています。それらのうちのいくつかは、クエリーパラメータと一致するものがないため、空のCSVファイルです。フォルダ内のすべてのCSVファイルを開いて置き換えるスクリプトが必要です(ファイルが空の場合のみ)。CSVファイルを開き、空の場合はコンテンツを置き換えます。

PHPでもかまいませんが、awk、sed、similarsのいずれかです。

ありがとうございます! bashで

+0

1.空のファイルは実際には空であるかどうかは、ヘッダーがないためですか? 2.置き換えられる空のコンテンツは何ですか? 3.あなたの問題を解決しようとしたらどうしましたか? –

+0

はい、ファイルが本当に空で、 "./。"と置き換えたい場合は、mysqli_num_rowsを試しました。戻り値が0の場合は、 'fopen'を使ってファイルを作成してください。 –

答えて

0

file=foo; if [ -w "$file" -a ! -s "$file" ] ; then echo "./." > "$file" ; fi 

ファイルfooが存在(-w)及び(-a)がゼロ長ファイル(! -s)である場合は、空の内容上./.を書き込みます。 touch fooでテストし、そのスクリプトを実行することができます。

+1

コマンドの最後のカンマを削除しています:' file = foo;もし[-w "$ file" -a! -s "$ file"];エコー "./。" > "$ file"; fi 'ありがとう! –

+0

ええ、いくつかの暴走した見積もりがあっただけで、気づいて削除されました。 –

+0

ちょうどもう1つの質問ですが、フォルダ内のすべてのCSVファイルに対して、これをどうすればいいですか?このようなことを試してみてください: 'file = * .csv;' –

関連する問題