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