ファイルが存在するか、空でないか、他のファイルと同じかどうかを確認したいと思います。もしそうなら、何もしないでください。
同じでない場合はを使用してくださいcat "some text"
。
ファイルが存在しないか空であってもファイルを生成します。cat some text
いくつかの回避策を試しましたが、ある条件を満たすたびに別の条件が失敗するか、ファイルが存在しない場合は失敗します。
この問題を解決する最もクリーンな方法は何ですか?これらすべてがbashを使用していますか?
ベストアンサー1
if [ -f file1 ] && [ -s file1 ] && [ -f file2 ] && [ -s file2 ] &&
cmp file1 file2 &>/dev/null; then
: do nothing in this case only
else
echo "some text" >file1
echo "some text" >file2 # or cp file1 file2
fi
コメントに基づく短いバージョン
if [ -s file1 ] && cmp file1 file2 &>/dev/null; then
: do nothing in this case only
else
echo "some text" >file1
echo "some text" >file2 # or cp file1 file2
fi