1空间做2个网站吗,查老板查企业,上海市建设工程造价信息网官网,做租赁的行业网站cat 命令用于打印文本文件的文件内容。至少#xff0c;大多数 Linux 用户都是这么做的#xff0c;而且没有什么问题。 cat 实际上代表 “连接(concatenate)”#xff0c;创建它是为了 合并文本文件。但只要有一个参数#xff0c;它就会打印文件内容。因此#xff0c;它是用… cat 命令用于打印文本文件的文件内容。至少大多数 Linux 用户都是这么做的而且没有什么问题。 cat 实际上代表 “连接(concatenate)”创建它是为了 合并文本文件。但只要有一个参数它就会打印文件内容。因此它是用户在终端中读取文件而无需任何其他选项的首选。
在 Linux 中使用 cat 命令
要使用 cat 命令你必须遵循给定的命令语法
cat [options] Filename(s)
这里
[options] 用于修改 cat 命令的默认行为例如使用 -n 选项获取每行的数字。Filename 是你输入要使用的文件的文件名的位置。
为了简单起见我将在本指南中使用名为 Haruki.txt 的文本文件其中包含以下文本行
Hear the Wind Sing (1979)
Pinball, 1973 (1980)
A Wild Sheep Chase (1982)
Hard-Boiled Wonderland and the End of the World (1985)
Norwegian Wood (1987)
Dance Dance Dance (1990)
South of the Border, West of the Sun (1992)
The Wind-Up Bird Chronicle (1994)
Sputnik Sweetheart (1999)
Kafka on the Shore (2002)
After Dark (2004)
1Q84 (2009-2010)
Colorless Tsukuru Tazaki and His Years of Pilgrimage (2013)
Men Without Women (2014)
Killing Commendatore (2017)
那么在没有任何选项的情况下使用时输出会是什么 好吧让我们看一下
cat Haruki.txt 正如你所看到的它打印了整个文本文件
但你可以做的远不止这些。让我向你展示一些实际例子。
1、创建新文件
大多数 Linux 用户使用 touch 命令来 创建新文件但使用 cat 命令也可以完成相同的操作
在这种场景下cat 命令比 touch 命令有一个优势因为你可以在创建文件时向文件添加文本。听起来很酷。不是吗
为此你需要使用 cat 命令将文件名附加到 后面如下所示
cat Filename 2、将文件内容复制到另一个文件
考虑一个场景你要将 FileA 的文件内容重定向到 FileB。
当然你可以复制和粘贴。但是如果有几百或几千行怎么办
简单。你可以使用 cat 命令来重定向数据流。为此你必须遵循给定的命令语法
cat FileA FileB
如果使用上述语法重定向文件内容它将删除 FileB 的文件内容然后重定向 FileA 的文件内容。 例如我将使用两个文本文件 FileA 和 FileB其中包含以下内容 现在如果我使用从 FileA 到 FileB 的重定向它将删除 FileB 的数据然后重定向 FileA 的数据
cat FileA FileB
同样你可以对多个文件执行相同的操作
cat FileA FileB FileC 可以看到上面的命令删除了 FileC 的数据然后重定向了 FileA 和 FileB 的数据。
3、将一个文件的内容附加到另一个文件
有时你想要将数据附加到现有数据在这种情况下你必须使用 而不是单个
cat FileA FileB
例如在这里我将把两个文件 FileA 和 FileB 重定向到 FileC
cat FileA.txt FileB.txt FileC.txt redirect file content without overriding using the cat command 如你所见它保留了 FileC.txt 的数据并将数据附加在末尾。
你可以使用 gt; 向现有文件添加新行。使用 cat filename 并开始添加所需的文本最后使用 CtrlD 保存更改。 4、显示行数
你可能会遇到这样的情况你想查看行数这可以使用 -n 选项来实现
cat -n File
例如在这里我将 -n 选项与 Haruki.txt 一起使用 get the number of the lines in the cat command 5、删除空行
在文本文档中留下多个空白行 cat 命令将为你修复它
为此你所要做的就是使用 -s 标志。
但使用 -s 标志有一个缺点。你仍然留有一行空白 remove blank lines with the cat command 正如你所看到的它有效但结果接近预期。
那么如何删除所有空行呢 通过管道将其传递给 grep 命令
cat File | grep -v ^$
这里-v 标志将根据指定的模式过滤掉结果^$ 是匹配空行的正则表达式。
以下是我在 Haruki.txt 上使用它时的结果
cat Haruki.txt | grep -v ^$ remove all the blank lines in text files using the cat command piped with grep regular expression 当获得完美的输出你可以将其重定向到文件以保存输出
cat Haruki.txt | grep -v ^$ File save output of cat command by redirection 这就是你到目前为止所学到的
以下是我在本教程中解释的内容的快速摘要
命令描述cat Filename将文件内容打印到终端。cat File创建一个新文件。cat FileA FileBFileB 的文件内容将被 FileA 覆盖。cat FileA FileBFileA 的文件内容将附加到 FileB 的末尾。cat -n File显示行数同时省略文件的文件内容。cat File | more将 cat 命令通过管道连接到 more 命令以处理大文件。请记住它不能让你向上滚动cat File | less将 cat 命令通过管道传输到 less 命令这与上面类似但它允许你双向滚动。cat File | grep -v ^$从文件中删除所有空行。