web-dev-qa-db-ja.com

LinuxテキストドキュメントでCR / LFを作成するにはどうすればよいですか?

Linux OSで作成されたテキストドキュメントの任意の場所にCR/LFを作成し、それをコピーしてWindowsのテキストエディターまたはWebに貼り付け、CR/LFを保持してWindows OSで読み取りおよび操作できるようにする方法またはウェブ上で?たとえば、文字の配置を正確に保つためにCR/LFを必要とするアスキーアートがあります。 Windowsまたはオンラインで使用できるCR/LFコードを使用してLinuxでアスキーアートを作成する。

3
Rocket

心配する必要はありません。標準のUnix/(GNU) Linuxツールを使用してから、Unixファイルでunix2dosを実行してください。

5
PSkocik

これはvimで簡単に実行できます。

ファイル内のすべての改行をCR/LFに変換する場合は、

  1. Vim(vim file.txt)。
  2. ファイルをDOS形式に変換します(CR/LF改行を意味します)::e ++ff=dos
  3. 保存して終了します(Shift+ZShift+Q または:wq)。

単に単一のCR/LF改行を挿入したい場合は、

  1. Vim(vim file.txt)。
  2. 後にCR/LF改行を挿入する行に移動します(vimに慣れていない場合は、上下の矢印キーを使用できます)。
  3. 行末に追加して挿入モードに入ります(Shift+A)。
  4. 復帰文字(Ctrl+VCtrl+M)。
  5. 改行文字を挿入します(Return)。
  6. 挿入モードを終了(Esc)。
  7. 保存して終了(Shift+ZShift+Q または:wq)。
2
Doorknob

編集:つまり、実際に知りたいのは、ファイルをUnixからWindowsの行末に変換する方法です。エディタではなくコマンドラインで、次のワンライナーを使用します。同じファイルで複数回実行しても正しく動作します。

Perl -pe 's/\r?\n/\r\n/' unix-file.txt > windows-file.txt

od -cを含むファイルを表示して、その改行文字を確認できます。

PS。ちなみに、一部のエディターでは、DOS形式で保存したり、既存の行末を保持したりできます(ただし、使用しているものを誰が知っているか)。


これがあなたが望んでいたこと思考に対する答えです:

本当に明示的に入力したい場合は、CRとLFの制御コードと、エディターなどでリテラル制御コードを入力する方法の2つを知っておく必要があります。

  1. CRは^Mcontrol+M)。 LFは^Lcontrol+L)。

  2. 次に入力する内容をエディターがどのように「エスケープ」するかを確認してください。 emacsではそれは control+Q^Q、またはemacs表記ではC-q)なので、^Q ^Mと入力してCRを入力します。より一般的なエスケープ(vimやbashプロンプトなど)は^Vです。

LFは行末なので、入力しても表示されない可能性がありますが、そこにはあります。

1
alexis

Geany を試すことができます。これはguiタイプのテキストエディターで、行末は編集可能な多くの項目の1つです。

0
Jeremy Rican