テキストファイルに存在するテキストを開かずにクリアする方法は?
たとえばhello.txt
、いくつかのテキストデータと同じようにファイルがあり、そのファイルを開かずにテキスト全体をクリアするにはどうすればよいですか?
これにより、nano、Geditなどのエディターを使用しないことになります。
テキストファイルに存在するテキストを開かずにクリアする方法は?
たとえばhello.txt
、いくつかのテキストデータと同じようにファイルがあり、そのファイルを開かずにテキスト全体をクリアするにはどうすればよいですか?
これにより、nano、Geditなどのエディターを使用しないことになります。
回答:
ターミナルをCTRL+ ALT+で開き、次のようにT入力します。
> hello.txt
それだけです。そのファイルのデータは、開かなくてもクリアされます。
例:
stdout
場合、既存のファイルが存在する場合、その内容によって上書きされます。この場合、には何もありませんstdout
。そのため、ファイルはvoidで上書きされており、必要に応じて実質的に古いデータを消去しています。
また、rajagenupulaの答えのようなリダイレクトを使用します。しかし、もう少し柔軟性があります。ターミナルを開いて入力し、
cat > hello.txt
Ctrl+を押しCます。前のファイルを消去します。これまでにしたい場合は大丈夫です。
必要に応じて、ファイルを消去した後、さらに何かを行うことができます。この方法では、ファイルを開かずにワイプできるだけでなく、ファイル内に適切な書式を設定して数行書き込むこともできます。ファイルを消去した後、「Ubuntuは最高のOSです」と書きたいと言って、ただ
cat > hello.txt
Ubuntu is the
best OS
次にCtrl+を押しCます。これで、前のファイルは消去されます。同時に、私が書いたように言葉は2行にあります。
例を参照してください。
>
リダイレクトの略です。既存のファイルを上書きして、ファイルにcat > file
書き込みstdout
ます。
ログファイルを使用してこれを常に行う必要があります。私が見つけた最も簡単な方法は、次のコマンドを使用することです。
cat /dev/null > hello.txt
これにより、ファイルの内容のすべてが削除され、エディターで開いたり、テキストを選択したりすることなく、空のファイルが残ります。より具体的には、ファイルの内容を「/ dev / null」の内容に置き換えるか、何も置き換えません。それは実際、かなり滑らかです。
唯一の注意点は、現在ログインしているユーザーが、そのファイルへの書き込み権限を持っている必要があるということです。
別のアプローチ- ファイルへcp
/dev/null
xieerqi:$ cat testFile.txt
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 115247656 83100492 26269816 76% /
none 4 0 4 0% /sys/fs/cgroup
udev 2914492 4 2914488 1% /dev
tmpfs 585216 1152 584064 1% /run
none 5120 0 5120 0% /run/lock
none 2926072 98096 2827976 4% /run/shm
none 102400 76 102324 1% /run/user
xieerqi:$ cp /dev/null testFile.txt
xieerqi:$ cat testFile.txt
xieerqi:$
この回答は、スーパーユーザーの別の回答に基づいています。最短のbashコマンドでtruncate
はありませんが、平均的な初心者にとって最も読みやすいです:
$ echo Hello > Hello.txt
$ echo World! >> Hello.txt
$ cat Hello.txt
Hello
World!
$ truncate -s 0 Hello.txt
$ ll Hello.txt
-rw-rw-r-- 1 rick rick 0 Mar 20 17:32 Hello.txt
truncate
ここでコマンドで使用されるパラメーター:
利点はtruncate
、ゼロだけでなく、保持する量を指定できることです。
$ truncate -s 10000 Hello.txt
...最初の10,000バイト以降はすべて切り捨てられます。これは、プログラムが狂って、何メガバイトものデータを小さなログファイルにダンプした場合に便利です。
truncate
合理的な大きな通常サイズの10K のコマンドを実行しますだから、これに答えるために多くのリダイレクトが使用されているのを見ます;)
コンボの少し異なるアプローチ:rm&touch
rm hello.txt && touch hello.txt
(ええ...さらに別のチート!)
そのため、このコマンドコンボでは、hello.txtファイルは開かれず、最終的には内容がクリアされた場所にhello.txtファイルが残っています。あなたが望んでいたように!
vi filename -c ':1,$d' -c ':wq'
特別な許可があったので、私にとって最高の仕事をした
vi
が何であるか、さまざまなパラメーターと引数が何をするのかを説明できます。