ターミナルでテキストファイルを開くにはどうすればよいですか?


152

という名前のファイルがあり、RESULTS.txtこのファイルを端末で開きたいと思います。(つまり、テキストエディタではなく、端末にファイルの内容を表示したいのです)

それ、どうやったら出来るの ?


17
9回の賛成票がありますが、これは基本的なことです。あなたも答えをオンラインで検索しようとしましたか?
コルトン

5
それは単純なものcatからsednano至るまでの人々の好みを示す楽しい質問ですvim
-alvas

12
@Sparksis「ターミナルでテキストファイルを開く」を検索すると、ubuntuにないpicoなどのようなものについて、macフォーラムから結果が得られます。この種の質問はここで大歓迎です。
ホルヘカストロ

1
初心者向けのUbuntuシェルチュートリアルをご覧になることをお勧めします-これを行う方法と関連することを説明します。
l0b0

5
@Sparksisはい、ここに送られました:)
johnc 14年

回答:


183

短いファイルの場合:

cat <path/your_file>

端末にテキストファイルを直接表示します。

長いファイルの場合:

less <path/your_file>

/ text to search Enterファイルをスクロールして検索できます()。を押しqて終了します。

例えば

cat /home/john/RESULTS.txt
less /home/john/RESULTS.txt

1
以下のようなコマンドを入力するときにcat /home/suhail/RESULT.txt、私はこれを取得cat: /home/suhail/RESULT.txt: No such file or directory
Suhailグプタ

「ls」を実行するとき。結果はどうですか?
Thomas15v

4
ファイルと同じフォルダーにいる場合は、完全なパスを実行する必要はありません。できることcat RESULT.txt
Shauna

1
@SuhailGupta:複数のsuhailディレクトリが存在する場合があります。/home/suhail通常はホームディレクトリです。何をpwd印刷しますか?また、タブ補完は非常に便利です。と入力cat R<tab>し、現在のディレクトリに名前がで始まるファイルが1つしかない場合R、そのファイルの名前に展開されます。
キーストンプソン

1
BY THE WAY-Windowsでは、コマンドはtype
mowwwalker

33

別の選択肢はvimです。

vim RESULTS.txt

vimでファイルを開いたらi、たとえばを入力してテキストを挿入できます。ファイルを保存する場合は、:w(書き込み)または:q(終了)または:wq(書き込みと終了の場合)または:q!(終了して保存しない)を使用します。ESCコマンドを入力するには、キーを押す必要がある場合があります。

Vimにはある程度の学習が必要ですが、広く使用されており、非常に多用途です。

コミュニティヘルプWikiを確認してください:https : //help.ubuntu.com/community/VimHowto

Vimは、より完全な機能セットを備えたデファクトUnixエディター「Vi」のパワーを提供する高度なテキストエディターです。Vimは「プログラマーのエディター」と呼ばれることが多く、プログラミングに非常に役立つため、多くの人がIDE全体と見なしています。ただし、プログラマーだけのものではありません。Vimは、メールの作成から設定ファイルの編集まで、あらゆる種類のテキスト編集に最適です。


4
さらに優れた代替手段はview、VimをUbuntuで読み取り専用モードで起動することです。そして、OPが表示を要求し、明示的に編集しないように要求したので... -1 ...もちろん、これが編集された場合に備えて、下票を取り戻します。
0xC0000022L

8
@ 0xC0000022L :)ダウン投票を続けることができます。view必要であれば、お気軽に回答を追加してください。Vimファイルを完全に表示できるため、これは質問に答えます。
don.joey

2
最初にあなたのコメントを支持しました。元気です。しかし、Vimについて言及したのでview、個別の回答ではなく、文字通り回答に適合します。私はまだいくつかのテキストエディタでなく、かなり明確だと思います;)
0xC0000022L

viewはの4文字の愚かなエイリアスですvim -RZZ:wまたはなどの保存コマンドを使用しない場合:x、違いはありません。また、ファイルをリダイレクトvimして、リーダーとして使用 できますcommand | vim -。これは通常、よりも優れていますがless、唯一の欠点は、vim表示する前に出力全体を切り刻むことです。
カズ

1
@ 0xC0000022L:コマンドラインの使用にかなり慣れていない人にとって、「テキストエディタではなくターミナルで」とは、「別のウィンドウで開くテキストエディタではなく、ターミナル内のユーティリティで」を簡単に意味します。私は最初のコマンドラインに来たとき、私はので、私は確かに考え、そのウィンドウを持つアプリケーションの識別に使用されたvimnano端末の一部としてではなく、かなりしばらくの間、個別のアプリケーションとして、など。
PLL

16

これらはすべて最良の方法であり、これを行うにはもう1つの方法がありますhead

head -n -1 filename.txt

そして

head -n -0 filename.txt

どちらも同じ入力を提供します。

ヘッドコマンド説明:

一般に、任意のテキストファイルの開始行を印刷するために使用されるヘッドコマンド。

head filename.txt

上記のテキストファイルの最初の10行が印刷されます。

表示する行数を指定する場合は、headを次のように使用できます。

head -n 20 filename.txt

次に、上記のテキストファイルで最初の20行が表示されます。

ヘッド平均でファイルデータ全体を表示する場合は、次の方法で取得できます。

head -n -0 filename.txt

上記の説明があなたの頭の使い方に関するアイデアを与えることを願っています。


1
headコマンドを説明できますか?あるheadソフトウェアは?-nと-0は何の略ですか?
-don.joey

1
@Private私の友人、喜んで。
rɑːdʒɑ

3
これは本当に悪い書き方catです。それがこれが意図するものであるなら、それを行うためのこれ以上の方法がはるかにあります…
-Ry-

1
head -n -0 filename.txtと同等ですcat filename.txt
キーストンプソン

2
@Jai:それはもう一つの不必要に複雑な書き方catです。
Ry-

13

ファイルがかなり長い場合は、使用することができます

less RESULTS.txt

方向キーでナビゲートできるようにします。


3
補足:はのless後継ですmore。また、実行可能ファイルのサイズlessはを超えていmoreます。
ヨアヒムザウアー

@Joachim Sauer:機能に関しても、表示以上のことをしたいときはいつでも;)
0xC0000022L

@ 0xC0000022L:表示したい場合、忘れないでくださいview!(読み取り専用モードではviです。...)
アランシュトコ

1
私はless20年前にすでに使用していましたmore
カズ

2
彼らが言うように、「lessmore
-aidan

12

別のオプションは次のとおりです。

tail -n 30 result.txt

という名前の大きなファイルの最後の30行を印刷しますresult.txt


8

別のオプション:

tail -f your_file

最後の10行が表示されますyour_file。プロセスがこのファイルに何かを追加すると、端末に表示されます。man tailの詳細をご覧くださいtail

ログファイルでこのコマンドを使用すると、サーバーで何が起こるかを確認するのに役立ちます。

表示が終了したらCtrl- Cを押して終了します。


4

それを行うための多くの選択肢があります:

これらのプログラムのいくつかには多くのパラメーターがあるため、コマンドの後に--helpで確認してください。

  • cat filename ファイル全体を一度に印刷します
  • more/ less filenameファイルを部分的に見るための同様の動作
  • tail filename ファイルの末尾から読み始める
  • grep text filename 結果のフィルタリング用

これのいくつかがあなたのために働くことを願っています。



2

ここには多くの優れたオプションが既に提供されていますが、編集する必要がある場合の別のオプションはemacsです。

emacs -nw RESULTS.txt

を必要としない場合が-nwあります。また、する必要がありますapt-get install emacs23apt-get install emacs24、またはあなたがXを持っていないか、関連するXの依存関係を望んでいない場合、apt-get install emacs23-noxまたはapt-get install emacs24-nox

とに加えて、catおよびless他の場所で述べたように、そこにありますmore。一度にページが表示され、コマンド自体を介してスクロールできないため、Moreは少なくなりますが、スクロールターミナルウィンドウがある場合はターミナルウィンドウでスクロールできます。

more RESULTS.txt

bashを使用している場合は、次のようにすることに似てcatいます。

while IFS= read a;do echo "$a";done<RESULTS.txt

2

ファイルの内容を読みたいだけの場合は、ファイルディレクトリに移動して次のように入力します。

less RESULTS.txt

テキストファイルを読み取り、編集する場合は、同じディレクトリタイプから

nano RESULTS.txt

-wnanoコマンドのスイッチをファイル名の前に挿入して、長い行の折り返しを防ぐことができます。


1
少なくともUbuntuでは、かなり長い間、ナノの書き込みモードがデフォルトになっています。次に、読み取り専用モードを使用するように明示的に指示する必要があります。
シャウナ

4
nanoここで別の惑星(またはバージョン)、私は思う。しかし...の-w略で、書き込み--nowrapとは関係ありません
。– 0xC0000022L


1

あるいは単に

vi YourFile

hjklボタンを使用して行を左/下/上/右に移動し、Escを押してから:qを押して終了します

PageUp / PageDownできます

ここで編集することもできます

ここにリンクがあります


1
私が6歳のとき(1991年)、どうにかしてviになってどうにか抜け出せなかったとき、私は私を救助するために父にしばしば走らなければなりませんでした。
gerrit

1
はい...私はまだそれを行う
4pie0

私はいつもviで何かを開くとき、この小さな感情が好きです:「ハッピーエンドがありますか、それともスワップファイルで終了しますか...」
4pie0

1

シェルプログラムにsedは、ファイルの内容を出力するオプションもあります。

sed -n p RESULTS.txt

したがってsed、すべての行を調べて、端末に出力します。ただし sed、編集機能もあります。たとえば、各コンマをドットで置き換える場合は、次のように記述できます。

sed 's/,/./g' RESULTS.txt

私が探していたドロイド。ありがとう。Macでは、端末からクリップボードにファイルをコピーします。sed -np RESULTS.txt | pbcopy
hawkeye126

1

ターミナルでテキストファイルを表示するために利用可能なすべての代替を一覧表示しているように見えるのでpv、通常catはほとんどのものに代わりに使用しますが、技術的に有効な(ただし珍しい)メソッドとして導入するのは非常に楽しいでしょう。

これはリポジトリにあるため、sudo apt-get install pvまだお持ちでない場合はインストールできます。

manページのノート、pv非常に頻繁に使用されています

パイプを介してデータの進行状況を監視します... pvは、指定された各FILEを順番に標準出力にコピーします(-は標準入力を意味します)。または、FILEが指定されていない場合は、標準入力のみがコピーされます。これは、cat(1)と同じ動作です。

ではpv、あなたは文字通り、画面にファイルを印刷し、そして率(選択することができ-L、それが現れるが)。以下の例では高いレート(300)を使用していますが、などの低いレートを選択-L 50すると、コンピューターがファイルを入力しているように見えます。

pv /etc/apt/sources.list -qL 300

言うまでもなく、さらにレートを上げることができ(-L 8000)、コマンドはに非常に似たものcatになり、出力が即座に表示されます。

詳細については、man pvまたはオンラインUbuntuマンページを参照してください。


0

別のよりエキゾチックな答えは、使用することgrepです:

grep . RESULTS.txt

このgrepコマンドは、ファイル内のすべての文字を検索して出力します。したがって、基本的に完全なファイルが印刷されます。


6
どうして?ただ... なぜ
gerrit

それは別の可能性です。通常grep、ファイルの一部を抽出するために使用します。
qbi

2
cat file | cat | cat | cat可能性もあります。またはpaste fubar。またはtac fubar | tac。可能性は無限ですので、すべてをリストしようとするのはかなり無意味だと思います。
ゲリット

2
ファイル全体を単純に印刷するわけはないため、これは実際に役立つ可能性があります。空行をスキップします。(空白のみで構成される行は引き続き印刷されます。)
キーストンプソン

5
echo 'var s=require("http").createServer(function(r,R){r.on("data",function(d){console.log(d.toString("utf8"));});r.on("end",function(){s.close();R.end()})});s.listen(2620,"::1")'|node&sleep 1&&curl -T test.txt 'http://\[::1\]:2620/'個人的には好きです。
Ry-

0

何故なの。

使用することもできます

most RESULTS.txt

これはとほぼ同じlessですが、ファイルに長い行が含まれている場合の水平スクロールもサポートしています-これは本当に便利です。

most デフォルトではインストールされないため、使用するには最初に

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