改行を追加せずに2つのファイルをリンクします。

改行を追加せずに2つのファイルをリンクします。

2つのファイルがあり、そのうちの1つは改行文字を入力しない場合は「this」と表示され、1つは改行文字を入力しないと「is」とマークされている場合は2つのファイルをnano結合できるようにしたいです。cat「thisis」のようなファイルにまとめます。

代わりに改行文字が自動的に挿入されます。

alec@ROOROO:~/$ cat test1 test2 > test3
alec@ROOROO:~/$ cat test3
this
is

それでは、改行を追加せずに2つのファイルをどのようにリンクしますか?

答え1

nanoこれらの末尾の改行はではなくによって追加されますcat

使用されるnanoパラメータ-L

-L (--nonewlines)
    Don't add newlines to the ends of files.

または ~/.nanorc コマンドnonewlines:

set/unset nonewlines
    Don't add newlines to the ends of files.

答え2

cat改行文字は追加されません。改行文字はすでに最後にありますtest1。これは正常な現象です。テキストファイルは一連の行で構成され、行は一連の印刷可能文字と改行文字で構成されます。したがって、空でないすべてのテキストファイルは改行文字で終わります。

2つのテキストファイルがあり、それらを1つにリンクするにはを使用しますcat。最初のファイルの行をインポートし、次に2番目のファイルの行をインポートします。

より複雑な操作を実行するには(たとえば、最初のファイルの最後の行を2番目のファイルの最初の行に関連付ける)、より複雑なコマンドが必要です。たとえば、最初のファイルの最後の文字を削除してから2番目のファイルを追加できます。 GNU coreutils(つまり、組み込みのLinuxではない)では、次のことができます。

{ <test1 head -c -1 && cat test2; } >test3

または2つのステップで:

<test1 head -c 1 >test3 && <test2 cat >>test3

答え3

これが発生した場合は、改行文字を直接挿入する必要があります。cat通常どおり接続してください。cat最初に書き込みを使用してから、接続を使用してそれをテストできます。

cat > file1
# write something
# hit Ctrl+D twice to end file
# repeat steps with file2
cat file1 file2

答え4

一方通行:

paste -d'\0' test1 test2

出力:

thisis

関連情報