GNU/Linux >> Linux の 問題 >  >> Linux

Bash:改行なしでファイルの末尾に文字列を追加します

sed '$s/$/yourText2/' list.txt > _list.txt_ && mv -- _list.txt_ list.txt

sed の場合 実装は -i をサポートします オプション、次を使用できます:

sed -i.bck '$s/$/yourText2/' list.txt

2 番目のソリューションでは、バックアップも作成されます (最初のソリューションでは手動で行う必要があります)。

または:

ex -sc 's/$/yourText2/|w|q' list.txt 

または

perl -i.bck -pe's/$/yourText2/ if eof' list.txt

printf を使用するだけです 代わりに、デフォルトで新しい行を出力しないため:

printf "final line" >> file

テスト

ファイルを作成し、末尾に改行を付けずに余分な行を追加してみましょう。 cat -vet を使用していることに注意してください 新しい行を表示します。

$ seq 2 > file
$ cat -vet file
1$
2$
$ printf "the end" >> file
$ cat -vet file
1$
2$
the end

echo の -n パラメータを使用できます。このように:

$ touch a.txt
$ echo -n "A" >> a.txt
$ echo -n "B" >> a.txt
$ echo -n "C" >> a.txt
$ cat a.txt
ABC

編集:ああ、文字列と改行を含むファイルが既にありました。まあ、とにかくここに残しておきます。誰かの役に立つかもしれません。


Linux
  1. Linuxでテキストファイルに行番号を追加する方法

  2. ファイルの最後に改行を追加するにはどうすればよいですか?

  3. バッシュ‘?

  1. Vimでファイルの最初または最後に移動する[クイックヒント]

  2. bashのフォルダ内の各ファイルの先頭に文字列を追加するにはどうすればよいですか?

  3. 連続して書き込まれるログ ファイルの各行に日付文字列を追加する方法

  1. bashを使用して、ファイルの各行の先頭にある空白を削除します

  2. BASHスクリプトで「awk」を使用してCSVファイルの最後に列を追加します

  3. Linux - ファイルの末尾に空行があるかどうかを確認する