カーソルをファイルの最後の行に戻す方法

カーソルをファイルの最後の行に戻す方法

3つの数字を含むテキストファイルがあり、各数字は新しい行で区切られています。

-55
-56
-64

ファイルを開くと、カーソルが4番目の空行にあることがわかります。

ここに画像の説明を入力してください。

カーソルが最後の行の最後の数字にとどまりたいと思います。

ここに画像の説明を入力してください。

sed私は同様のことを試しました。

sed -i '${/^$/d}' troisignaux.txt

しかし成功はありません。

いくつかのbashコマンドを使ってこれを行う方法はありますか?

ありがとう

答え1

ファイルが改行文字で終わることが確実な場合は、たとえばhead -c-1 troisignaux.txt > temp.txt; mv temp.txt troisignaux.txt

あなたがやっていることの単一のユースケースを実際に見つけることはできません。いいねアイデア。ファイルのシステム構造を壊しています。常に数字の後に改行文字が続きます。

時々、コーディング標準では、最後の行が改行で終わらなければならないと規定しています。これは、ファイルをリンクするときの構造と安全のためです。各行が改行で終わる2つのファイルを常にリンクできますが、数字を連結する場合(たとえば32)、最後の改行文字を削除してファイルに追加すると数字で終わります-6432

答え2

4番目の空行はありません。これは、テキストエディタで4行目にカーソルを置くと、3行目の末尾に改行文字があることを示す方法です。たとえば、VS Code は次のように動作します。 VIMなどの他のエディタは、4行目を表示せずに3行目にカーソルを置きます。 VS Codeを使用すると、単純なバックスペースキーを使用して3行目の改行文字を削除できます。 VIMはこれを行いません。ファイルを保存するときに最後の行に改行がない場合は、改行を追加します。

解決策は、別のテキストエディタを使用することです。

関連情報