[解決済み] 改行文字とは?
質問
これは非常に基本的な概念ですが、私はこれまでうまく表現することができませんでした。
例えば、Unix(またはWindows)で新しいファイルを作成する場合、ファイルには「改行文字」と呼ばれる特別な文字を挿入して、「行末」情報を保存するのでしょうか。もしそうなら、そのAscii値は何ですか?C言語のプログラムでは、'˶'ᴗ'˶という値に対して、読み取った文字をチェックした記憶があるのですが。また、行末を表すのになぜ2文字もあるのか...。
bash$ cat states
California
Massachusetts
Arizona
例えば、行間に1行分のスペースを挿入して、その形の出力が欲しいとします。 希望する出力
California
Massachusetts
Arizona
bash$sed -e 's/\n/\n\n/g' states does not work.
なぜ、改行文字を他の文字と同じように扱って、上記のようなコマンドを実行できないのでしょうか?(これはsedの構文の問題だと言われるかもしれないことは理解していますが、これを許さないという直感を説明してもらえると、混乱が解消されるのですが。
同様に、vimエディター内では、:%s/sn/texn/gが使えません。なぜですか?
sedでもvimでもバックスラッシュでさらにescapeする必要があるのでしょうか?
ありがとうございます。
ジャグラーティ
解決方法は?
からの
sed
マンページ
:
通常、sed は、入力行の終端である改行文字を含まない行をパターンスペースに周期的にコピーし、("D" 関数の後に何かが残っていない限り)そのパターンスペースを選択するアドレスを持つコマンドをすべて適用し、パターンスペースを標準出力にコピーして改行を追加し、パターンスペースを削除します。
改行がない行で操作しているので、そこにあるパターンにマッチすることはないのです。 他の方法、たとえば
$
(行末)または
^
(行頭)となります。
以下は、私がうまくいった例です。
$ cat > states
California
Massachusetts
Arizona
$ sed -e 's/$/\
> /' states
California
Massachusetts
Arizona
の後にリテラルな改行文字を入力しました。
\
の中の
sed
の行になります。
関連
-
[解決済み】宣言指定子で2つ以上のデータ型がある場合のエラー【非公開
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] シェルで、「2>&1」はどういう意味ですか?
-
[解決済み] Vimで文字を改行で置き換える方法
-
[解決済み] なぜテキストファイルは改行で終わらなければならないのですか?
-
[解決済み] sedで改行をスペースに置き換えるには?
-
[解決済み] Vimで最も生産性の高いショートカットは何ですか?
-
[解決済み] Unixでテキストファイルからあらかじめ決められた範囲の行を抽出するには?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cコンパイルエラー。"変数サイズのオブジェクトが初期化されていない可能性がある"
-
[解決済み】 `S_ISREG()` とは何ですか、そして何をするのですか?
-
[解決済み】「無効なイニシャライザー」と表示されるのですが、何が間違っているのでしょうか?
-
[解決済み】Cygwin - Makefile-error: ターゲット `main.o' のレシピに失敗しました。
-
[解決済み] struct で "warning: useless storage class specifier in empty declaration" (警告: 空の宣言での無駄なストレージクラス指定子)
-
[解決済み】cudamalloc()の使用。) なぜダブルポインタなのか?
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み】C 未知の型名「my_structure」。
-
[解決済み] エラー:整数が期待されるところで集約値が使用された
-
[解決済み】未定義参照 makefile が間違っているのかも?