有一个名为
RESULTS.txt
的文件,我想在终端中打开此文件。 (我的意思是我希望看到文件内容显示在终端中,而不是某些文本编辑器中)我该怎么做?
#1 楼
对于短文件:cat <path/your_file>
直接在终端中显示文本文件。
对于长文件:
less <path/your_file>
在文件中滚动和搜索(/
text to search
Enter);按q退出。例如
cat /home/john/RESULTS.txt
less /home/john/RESULTS.txt
评论
在输入cat /home/suhail/RESULT.txt之类的命令后,我得到了这只猫:/home/suhail/RESULT.txt:没有这样的文件或目录
– Suhail Gupta
13年2月27日在13:45
当您执行“ ls”时。结果是什么呢?
– Thomas15v
13年2月27日在13:46
如果与文件位于同一文件夹中,则无需执行完整路径。你可以只做RESULT.txt
– Shauna
13年2月27日在14:31
@SuhailGupta:可能有多个suhail目录。 / home / suhail通常是您的主目录。 pwd打印什么?另外,制表符补全也很方便。如果键入cat R
–基思·汤普森(Keith Thompson)
13年2月28日在1:53
顺便说一句-在Windows上,命令为
– mowwwalker
2013年3月2日在8:29
#2 楼
另一个选择是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
非常适合各种文本编辑,从撰写电子邮件到
编辑配置文件。
评论
更好的选择是view,它在Ubuntu上以只读模式启动Vim。而且由于OP要求查看并且明确地不进行编辑... -1 ...当然,如果修改后,我将撤回下降表决。
– 0xC0000022L
13年2月27日在12:57
@ 0xC0000022L :)您可以保留否决票。如果需要,可以随时在视图上添加答案。 Vim非常有能力显示文件,因此可以回答这个问题。
– don.joey
13年2月27日在13:07
我首先赞成你的评论。我都可以。但是自从您提到Vim以来,视图实际上就适合您的答案,而不是单独的答案。我仍然认为并且在某些文本编辑器中不是很清楚;)
– 0xC0000022L
13年2月27日在17:09
view是vim -R的愚蠢的四个字母的别名。如果您不使用任何保存命令,如ZZ,:w或:x,则没有区别。您也可以将文件重定向到vim以将其用作阅读器: vim-。通常这总比没有好,唯一的缺点是vim在显示任何内容之前先将整个输出封住。
–卡兹
13年2月27日在18:36
@ 0xC0000022L:对于刚开始使用命令行的人来说,“在终端中而不是在某些文本编辑器中”很容易意味着“在终端中的某些实用程序中,而不是在单独的窗口中打开的某些文本编辑器中”。当我第一次进入命令行时,我很习惯用窗口识别应用程序,我当然认为vim,nano等是终端的一部分,而不是相当长一段时间以来作为单独的应用程序。
– PLL
13年2月27日在22:43
#3 楼
所有这些都是最好的方法,还有另一种方法可以使用head
命令。head -n -1 filename.txt
和
head -n -0 filename.txt
都会给您相同的输入。
Head命令说明:
通常,head命令用于打印任何文本文件的起始行。我们可以使用
head filename.txt
查看文本文件将打印上述文本文件的前10行。
如果要在要查看的行数,则可以使用head作为
head -n 20 filename.txt
然后在上面的文本文件中将查看前20行。
如果您想用head方式查看整个文件数据,那么我们可以通过
head -n -0 filename.txt
得到它,希望上面的解释可以让您对使用head有所了解。
评论
你能解释一下head命令吗?是头软件吗? -n和-0代表什么?
– don.joey
13年2月27日在12:51
@Private我的朋友,很高兴。
–rɑːdʒɑ
13年2月27日在12:53
这只是写猫的一种非常糟糕的方法。如果这就是这个意思,那还有比这更多的一种方法……
– Ry-
13年2月28日在1:47
head -n -0 filename.txt等同于cat filename.txt
–基思·汤普森(Keith Thompson)
13年2月28日在1:50
@Jai:这是另一种不必要的猫写方法。
– Ry-
13年2月28日在2:50
#4 楼
如果文件比较长,则可能要使用less RESULTS.txt
,以便可以使用方向键在文件中导航。
评论
旁注:少即是多的继任者。就可执行文件的大小而言,少即是多。
– Joachim Sauer
13年2月27日在12:56
@Joachim Sauer:同样,在功能方面,只要您想做的不仅仅是查看;)
– 0xC0000022L
13年2月27日在13:01
@ 0xC0000022L:如果要查看,请不要忘记查看! (在只读模式下为vi。
–艾伦·舒特科(Alan Shutko)
13年2月27日在17:24
我用了不到二十年前,而不必担心它的大小。
–卡兹
13年2月27日在18:28
正如他们所说,“少即是多”
–aidan
13年2月27日在21:58
#5 楼
另一种选择是:tail -n 30 result.txt
打印出名为
result.txt
的大文件的最后30行。#6 楼
另一种选择:tail -f your_file
它将显示
your_file
的最后十行。如果某个进程将某些内容附加到此文件,则可以在终端上看到它。 man tail
提供了有关tail
的更多信息。查看在日志文件上使用此命令时服务器发生的情况非常有用。
在您按下Ctrl-C退出时查看完毕。
#7 楼
有很多替代方法:其中一些程序具有很多参数,因此请在命令后使用--help进行确认。.
cat filename
一次打印整个文件more
/ less filename
类似的行为,用于部分查看文件tail filename
从文件的尾部开始读取grep text filename
用于过滤结果希望其中一些对您有用..
#8 楼
使用终端文本编辑器:nano /path/to/file/RESULTS.txt
评论
“不在某些文本编辑器中”
– Burhan Ali
13年2月28日在8:08
#9 楼
由于我们似乎列出了在终端中显示任何文本文件的所有可用方法,因此将pv
引入技术上是一种有效(但不常见)的方法,这很有趣,尽管我通常会在大多数情况下使用cat
。 它在存储库中,因此如果尚未安装,可以与
sudo apt-get install pv
一起安装。如手册页所述,
pv
通常用于通过管道监视数据的进度... pv会将每个提供的FILE依次复制到标准输出(-表示标准输入),或者如果未指定任何文件,则仅输入标准输入复制。这与cat(1)的行为相同。
使用
pv
,您可以从字面上将文件打印到屏幕上,然后选择文件出现的速率(-L
)。下面的示例使用较高的速率(300),但是如果您选择较低的速率,例如-L 50
,它将看起来好像计算机正在为您键入文件。 pv /etc/apt/sources.list -qL 300
不用说,您可以进一步提高速率(
-L 8000
),并且该命令与cat
非常相似,输出会立即显示。 有关更多信息,请参见
man pv
或在线Ubuntu手册页。#10 楼
这里已经提供了很多不错的选择,但是如果需要编辑的另一个选择是emacs:emacs -nw RESULTS.txt
可能不需要
-nw
,具体取决于。您可能还需要apt-get install emacs23
或apt-get install emacs24
,或者如果您没有X或不想要相关的X依赖项,则是apt-get install emacs23-nox
或apt-get install emacs24-nox
。除了上面提到的cat
和less
之外,还有是more
。多一点少了,因为您一次看到一个页面并且无法通过命令本身滚动,但是如果您具有滚动的终端窗口,则可以在终端窗口中滚动:more RESULTS.txt
如果您参加bash活动,则可以通过执行以下操作来获得与
cat
类似的功能:while IFS= read a;do echo "$a";done<RESULTS.txt
#11 楼
外壳程序sed
还具有打印文件内容的选项。sed -n p RESULTS.txt
所以
sed
遍历每行并将其打印到终端。但是sed
也具有编辑功能。例如,如果要用点替换每个逗号,可以编写:sed 's/,/./g' RESULTS.txt
评论
我一直在寻找的机器人。谢谢。在Mac上,将文件从终端复制到剪贴板。 sed -n p RESULTS.txt | pbcopy
– 9ete
15/12/29在18:11
#12 楼
如果只想读取文件内容,请进入文件目录,然后输入less RESULTS.txt
如果要读取和编辑文本文件,请使用相同的目录类型
nano RESULTS.txt
可以在文件名之前插入nano命令中的
-w
开关,以防止长行换行。评论
至少一段时间以来,至少在Ubuntu中,写模式已成为nano的默认设置。现在,您必须明确告诉它使用只读模式。
– Shauna
13年2月27日在14:33
我想这里是不同的星球(或纳米版本)。但是-w是--nowrap的缩写...与写无关,
– 0xC0000022L
13年2月27日在14:34
#13 楼
为什么不呢?还可以使用
most RESULTS.txt
它与
less
几乎相同,但是如果文件包含长文件,它还支持水平滚动行-这真的很方便。默认情况下未安装
most
,因此要使用它,必须首先sudo apt install most
#14 楼
如果您需要编辑文件的内容,我通常使用nano。nano filename
#15 楼
或只是vi YourFile
使用hjkl按钮向左/向下/上/右移动行,然后按Esc然后:q退出
,您也可以PageUp / PageDown
,也可以在此处进行直接编辑
,在这里您可以找到更多链接
评论
当我6岁的时候(1991年),当我设法以vi结束并且无法退出时,我常常不得不跑到父亲身边救我。
– Gerrit
2013年2月27日在22:01
是的...我还是这样做
– 4pie0
13年2月27日在22:31
当我总是通过vi打开某些东西时,我喜欢这种小情绪:“会有一个幸福的结局,还是我会完成交换文件...”
– 4pie0
13年2月28日在1:12
#16 楼
另一个更奇特的答案是使用grep
:qbr120qq命令grep
命令搜索文件中的每个字符并将其打印出来。因此基本上可以打印出完整的文件。评论
为什么?只是...为什么?
– Gerrit
13年2月27日在22:00
这只是另一种可能性。通常,您将使用grep提取文件的一部分。
– qbi
13年2月27日在22:05
猫文件|猫|猫|猫也是可能的。或粘贴fubar。或tac fubar | TAC。可能性是无限的,所以我认为尝试将它们全部列出是毫无意义的。
– Gerrit
13年2月27日在22:06
实际上,这可能很有用,因为它不只是打印整个文件。它将跳过空行。 (仅包含空格的行仍将被打印。)
–基思·汤普森(Keith Thompson)
13年2月28日在1:51
我喜欢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测试.txt'http:// \ [:: 1 \]:2620 /'。
– Ry-
13年2月28日在1:57
评论
这是一个有趣的问题,可以显示人们的喜好,从简单的猫到sed,再到nano到vim,@Sparksis当我搜索“在终端中打开文本文件”时,我从Mac论坛上得到了诸如pico之类的东西的结果,这些东西不在ubuntu中。这种问题在这里非常受欢迎。
好吧,或多或少都适用。
您可能需要研究一些初学者的Ubuntu Shell教程-它们将说明如何执行此操作及相关内容。
@Sparksis是的,它把我送到了这里:)