ターミナルを使用して簡単な.txt(テキスト)ファイルを作成する方法は?[閉まっている]


77

基本的なターミナルコマンドを確認しようとしています。そうは言っても、ターミナルのみを使用してテキストファイルを作成するにはどうすればよいですか?


質問は非常に広範ですが、簡単なチュートリアル(vim、エディター、シェルコマンドのリダイレクトなど)は、特に投稿数と回答のビューカウントと投票スコアと共に、将来に役立つ可能性があります。コミュニティWikiの投稿として最も役立つかもしれません。
user259412

回答:


106

端末を使用してファイルを作成することはできません。ターミナルで実行中のアプリケーションを使用できます。ただ、(任意の非GUIエディタを起動emacs -nwjoenanovivim、...)。

コマンドラインを使用するつもりであれば、シェルを使用してファイルを作成する方法を尋ねています。参照してください「末端」、「シェル」、「TTY」と「コンソール」の間の正確な違いは何ですか?

シェルでファイルを作成する基本的な方法は、出力のリダイレクトです。たとえば、次のコマンドは、次foo.txtの行を含むというファイルを作成しますHello, world.

echo 'Hello, world.' >foo.txt

複数の行を書きたい場合、いくつかの可能性があります。を使用できますprintf

printf '%s\n' 'First line.' 'Second line.' 'Third line.' >foo.txt

改行を含む文字列リテラルを使用できます。

echo 'First line.
Second line.
Third line.' >foo.txt

または

echo $'First line.\nSecond line.\nThird line.' >foo.txt

別の可能性は、コマンドをグループ化することです。

{
  echo 'First line.'
  echo 'Second line.'
  echo 'Third line.'
} >foo.txt

コマンドラインでは、これをより直接行うことができますcat。出力をファイルにリダイレクトし、入力をcat標準入力の1 行ごとに入力します。行の先頭でCtrl+ Dを押して、入力の終わりを示します。

$ cat> foo.txt 
最初の行。
二行目。
三行目。
Ctrl+D

スクリプトでは、here文書を使用して同じ効果を実現します。

cat <<EOF >foo.txt
First line.
Second line.
Third line.
EOF

空のファイルを作成するだけの場合は、touchコマンドを使用できます。ファイルが存在しない場合はファイルを作成し、存在する場合は最終変更日を更新します。

touch foo.txt

同等:

>>foo.txt

すなわちfoo.txt、追加のためにオープンしますが、それに0バイトを書き込みます-これはファイルを作成しますが、それを変更しません。とは異なりtouch、ファイルの最終変更日が既に存在する場合は更新されません。

空のファイルを作成し、ファイルが既に存在する場合はファイルのコンテンツを削除するには、使用できます

>foo.txt

13
touch ~/Desktop/something.txt

これにより、空のtxtファイルが作成されます。

または

echo "Hello" > ~/Desktop/somethingelse.txt

これにより、txt「Hello」というファイルが作成されます。

nano ~/Desktop/anotherfile.txt

これが開きます~/Desktop/anotherfile.txtnano、またはそれが存在しない場合は、それを作成し、それを開きますnano

同じことは、単純に置き換えることによって行うことができるnanoemacsvim、それが使用するemacsか、vim代わりにnano


にも言及cat<<、言及する必要があり>>ます。
o11c 14年

車輪を再発明しないようにしましょう。<<また、シェルの制御およびリダイレクト演算子>>はで説明されていますか?
Gマン

9

空のファイルを作成するのに必要なことは次のとおりです。

> my.txt

2
一部のシェル(zsh、tcsh、...)では、少なくとも:> my.txt必要です。:空のコマンドです。
ジョフェル14年

{echo 'First line。' echo '2行目'。「3行目」とエコーします。}> foo.txtは機能しません
Waterfr Villa

2

nano、vi、またはemacs編集プログラムを使用して、端末レベルでファイルを作成できます。x windowsシステムを使用している場合、GUIでプログラムを使用しないようにシステムに指示する必要があります。とにかく、emacsを例として使用します。

バッシュから; タイプ:

 emacs filename.txt (press enter) - it will create an empty file with the filename specified "filename.txt". It will save "filename.txt" from which ever 
directory type in "emacs filename.txt" command.

すべてのUNIXシステムVIに付属していることに留意してください。emacsはサポートしていません。emacsをインストールする必要があります。一方、Nanoはより人気があります。念のため、それが応答しない場合は、「nano filename.ext」で、何も起こらない場合はインストールする必要があります。

vi filename.txtを発行すると、ほとんどの場合、新しいファイルが作成されます。始める前に、vi、emacs、またはnanoをGoogleで使用する方法を調べる必要があります。これらの編集プログラムでは、ファイルを作成、編集、ツールを使用してテキストを検索および置換する方法が異なります。私はすべての選択肢の中からemacsが好きですが、viとnanoに夢中になっているか、賛成している開発者を見つけるでしょう


emacsのグラフィカルエディターオプションは「emacs filename.txt -nw」です。「-nw」はグラフィカルユーザーウィンドウ、ウィンドウなしを意味します
unixmiah 14年

2

立ち往生していて、コマンドラインで複数行のテキストファイルを作成する必要がある場合に役立つのは、次のようなものです。

# cat <<'EOF' > textfile
> This "should"
> prove useful, 'maybe'.
> EOF
# cat textfile 
This "should"
prove useful, 'maybe'.

cat別のコマンド(例えばgreppattern)の代わりに使用して、入力に対してgrepにジョブを実行させると、同じ方法でファイルに出力されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.