私のLinuxのコマンドは、私の質問がで猫ファイル1行でそれを確認
ファイルをファイル/etc/myfile.txtが空でないかどうかを確認し、保存する方法である
cat /etc/myfile.txt > newfile.txt
です1あなたがファイルをチェックするbash
に条件式を使用することができ、コマンドライン
私のLinuxのコマンドは、私の質問がで猫ファイル1行でそれを確認
ファイルをファイル/etc/myfile.txtが空でないかどうかを確認し、保存する方法である
cat /etc/myfile.txt > newfile.txt
です1あなたがファイルをチェックするbash
に条件式を使用することができ、コマンドライン
は(-f
フラグ)が存在し、その-s
フラグと空ない。
また、cat
の代わりにcp
を使用してファイルの新しいコピーを作成することもできます。
if [[ -f /etc/myfile.txt && -s /etc/myfile.txt ]]; then
cp /etc/myfile.txt newfile.txt
fi
適切な読み取り可能な例の代わりに1行を使用するのはどういうことでしょうか。とにかくあなたの代わりにcp
を使用し、あなたがcat
にファイルを持っていない
[[ -f /etc/myfile.txt && -s /etc/myfile.txt ]] && cp /etc/myfile.txt newfile.txt
[ -s "/etc/myfile.txt" ] && cat /etc/myfile.txt > newfile.txt
として上記のロジックを使用することができます。
ここで、-s
オプションは、ファイルのサイズがゼロでないかどうかをチェックします。 Linuxマシン上man test
、
-s FILE
FILE exists and has a size greater than zero
EDITから:/etc/myfile.txt
が通常のファイルであれば解決策が十分である上。 1は、それがnon-zero
サイズをチェックする前に、通常のファイルであれば、-f
フラグは
[[ -f "/etc/myfile.txt" && -s "/etc/myfile.txt" ]] && cp /etc/myfile.txt newfile.txt
このテストでは、サイズが0より大きいディレクトリについてもtrueを返します。たとえば、マシン上の "/ etc"は4kbのサイズを持ち、 '[-s"/etc "]'は "/ proc"私のマシン上で0のサイズを持っていればfalseを返します。 – confetti
を必要とされているチェックしたい場合は、私は、なぜ私のコメントが削除されたかわからないが、私はまだ '-r'は役に立つかもしれないと思います。それとも、そうでないと言えるものを見つけましたか? – PesaThe
少し読めるようにしておくと、onelinerが必要なときに 'test -f /etc/myfile.txt && test -s /etc/myfile.txt && cp /etc/myfile.txt newfile.txt'のようなものを書きます。 –