echo ""を使用して新しい空のファイルを作成しても、空のファイルは生成されません。

echo ""を使用して新しい空のファイルを作成しても、空のファイルは生成されません。

空のファイルを作成する必要があります。だから私はこれを使用しました:

echo "" > file

その後、私のプログラムでファイルが空であることを確認すると、

if(file.content == '')
   do something

ifブロックは決して実行されません。

を使用してファイルを開くと、nano fileファイルには何もありません。私はこれを試しましたが、print(file.content)出力はまだ空です。

このエラーの原因は何ですか?この問題を解決するにはどうすればよいですか?

答え1

echo ""

改行を出力するので、ファイルが空ではなく、改行が含まれています。ls -lサイズが1バイトであることをお知らせします。

空のファイルを生成するには、出力なしで次のコマンドを使用します。

: > file

答え2

~ > echo "" > t                                                                                                                       bill at LAPTOP-0GVE7LSM
~ > cat t                                                                                                                             bill at LAPTOP-0GVE7LSM

~ > vim tt                                                                                                                            bill at LAPTOP-0GVE7LSM
~ > cat tt                                                                                                                            bill at LAPTOP-0GVE7LSM
~ >                                                                                                                                   bill at LAPTOP-0GVE7LSM

以下のように、catはファイルの内容を取得します。

ttファイルには実際には何も入力せず、何も出力しませんでした。

しかし、ファイルtには「\ n」という新しい行を追加しました。

関連情報