[解決済み] sedで改行をスペースに置き換えるには?
2022-03-16 14:19:47
質問
改行(".)を置き換えるにはどうしたらいいですか?
\n
")からスペース("
を使用しています。
sed
コマンドを使用しますか?
試行錯誤の結果、失敗しました。
sed 's#\n# #g' file
sed 's#^$# #g' file
どうすれば直るの?
どのように解決するのですか?
この解決策をGNUで使用する
sed
:
sed ':a;N;$!ba;s/\n/ /g' file
これは、ファイル全体をループで読み込みます(
':a;N;$!ba
) の後、改行をスペースに置き換えます (
s/\n/ /g
). 必要であれば、さらに置換を追加することもできる。
説明する。
-
sed
は、改行を除いた最初の行をパターンスペースに読み込んで開始します。 -
でラベルを作成します。
:a
. -
によって、改行と次の行をパターンスペースに追加する。
N
. -
最終行より前にいる場合は、作成したラベルに分岐する
$!ba
($!
は、最終行で行わないという意味です。を実行しないようにするために必要です。N
これ以上入力がない場合、スクリプトを終了してしまいます!)。 - 最後に、置換はパターンスペース(ファイル全体)上ですべての改行をスペースに置き換えます。
以下は、BSDとOS Xで動作するクロスプラットフォーム互換の構文です。
sed
(のように
弁慶コメント
):
sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' file
ご覧のように
sed
この単純な問題に対して よりシンプルで適切な解決策としては
この回答
.
関連
-
[解決済み] OS X で 'find' コマンドを使用して 'sed' を使用するとエラーが発生する。"無効なコマンドコードです。"
-
[解決済み] sedで行全体を置き換えるには?
-
[解決済み] ファイル内検索と置換、ファイルの上書きがうまくいかず、ファイルが空になってしまう
-
[解決済み] sedによる空行の削除
-
[解決済み] Sed を使って文字列を含む行全体を置換する
-
[解決済み] sed の置換パターンに対応した文字列をエスケープする
-
[解決済み】sedでパターンに基づいたテキストを一度に入れ替えるには?
-
[解決済み】MacOSのsedでカンマを改行で置き換える?
-
[解決済み】sedを使って、ファイル内の最初の出現箇所のみを置換する方法は?
-
[解決済み】複数のファイルを変更する
最新
-
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 実装 サイバーパンク風ボタン