[解決済み】Bash: 出力から末尾の改行を取り除く
2022-04-03 13:57:16
質問
Bashでコマンドを実行すると(具体的には。
wc -l < log.txt
) の後に改行が含まれて出力されます。これを取り除くにはどうしたらよいでしょうか?
どのように解決するのですか?
期待される出力が1行の場合
であれば、出力からすべての改行文字を削除すればよい。にパイプすることも珍しくはないだろう。
tr
ユーティリティ、またはお好みでPerlに転送します。
wc -l < log.txt | tr -d '\n'
wc -l < log.txt | perl -pe 'chomp'
また、コマンド置換を使用して、末尾の改行を削除することも可能です。
echo -n "$(wc -l < log.txt)"
printf "%s" "$(wc -l < log.txt)"
期待される出力が複数行を含む可能性がある場合 の場合、別の判断が必要です。
ファイル末尾の改行文字を複数削除したい場合は、再度cmd置換を使用します。
printf "%s" "$(< log.txt)"
ファイルから最後の改行文字を厳密に削除したい場合は、Perlを使用してください。
perl -pe 'chomp if eof' log.txt
なお、削除したい末尾の改行文字があることが確実な場合は
head
を使えば、最後の1バイトを除くすべてを選択することができます。これはかなり速いはずです。
head -c -1 log.txt
また、念のため、改行文字 (あるいはその他の特殊文字) がファイル内のどこにあるか、次のようにしてすぐに確認できます。
cat
と 'show-all'フラグ
-A
. ドル記号文字は、各行の終端を示します。
cat -A log.txt
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?
-
[解決済み] Bashでファイルの中身をループする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] bash : cd : 引数が多すぎる [閉店].
-
[解決済み] 部分的にコピーされたファイルでscpを再開する方法は?[クローズド]です。
-
[解決済み] bashの文字列の等値性テストで、予期しない演算子エラーが発生するのはなぜですか?重複
-
[解決済み] zip警告 - 名前が一致しない
-
[解決済み] mkdir コマンドが bash スクリプトで見つかりません。
-
[解決済み] ssh / リモートbashコマンドでシングルクォート文字をエスケープするにはどうすればよいですか?
-
[解決済み] docker alpine /bin/sh script.sh not found
-
[解決済み] bashでのDiffコマンド
-
[解決済み] bashの"-ne "はどういう意味ですか?
-
[解決済み] Bashスクリプトの'''抜け'''がある] [クローズド]