コマンドラインでnanoを使用して新しいテキストファイルにテキストを入力するには?

コマンドラインでnanoを使用して新しいテキストファイルにテキストを入力するには?

コマンドラインでnanoを使用して新しいテキストファイルにテキストを入力するには?

私は次のようなものが欲しいが、nanoを使用します。

echo 'Hello, world.' >foo.txt

結果:

  1. nanoは非対話型テキスト入力を処理できません。
  2. echoはすべてのLinux / Unixシステムで利用可能ですが、nanoはすべてのLinux / Unixシステムにデフォルトでインストールされていません。 Echo はシェルスクリプトでも使用できます。

結論として: 最も互換性のある解決策は、次のものを使用することです。

echo 'Hello, world.' >foo.txt

ファイルを生成し、非対話型の方法で入力テキストを埋めるソリューションです。

ベストアンサー1

を使用できますが、here documentこの方法で特別な出力文書を提供することはできません。

$ cat | nano <<-EOF
one
two
three

EOF

Received SIGHUP or SIGTERM

Buffer written to nano.save

この動作は、マンページのコメントの下に記載されています。

場合によっては、nanoはバッファを緊急ファイルにダンプしようとします。これは主に nano が SIGHUP または SIGTERM を受信したとき、またはメモリが不足した場合に発生します。バッファにまだ名前がない場合は、nano.saveというファイルにバッファを書き込むか、現在のファイル名に ".save"サフィックスを追加します。その名前の緊急ファイルが現在のディレクトリにすでに存在する場合は、現在のファイル名に「.save」と数字(「.save.1」など)を追加して一意にします。マルチバッファモードでは、nanoは開いているすべてのバッファを対応するパニックファイルに書き込みます。

だから私はNanoが非対話型テキストメッセージの送信に最適な選択ではないと思います。ファイルに複数行のテキストを入力したい場合は、here documentnaなしでaを使用することもできます。

cat > foo.txt <<-EOF
> one
> two
> three
> 
> EOF
cme@itp-nb-1-prod-01 ~ $ cat foo.txt 
one
two
three

たぶんこれがあなたに必要なものかもしれません。

おすすめ記事