Linux 读取文件:cat 命令(拼接文件) 0 个改进

cat 是用于顺序读取文件打印到标准输出的 Unix 的标准功能。这个名字源于它可以连接文件的功能。'cat' 命令是最通用最强大的工具。它被认为是最常用的命令之一。它可以用于显示文件的内容,将内容从一个文件复制到另一个文件中,连接多个文件的内容,显示行号和在行尾显示 $ 等等。

Linux cat 命令: 用于显示文件的内容

'cat' 命令可以用于显示文件的内容。

语法:

cat <fileName>  

示例:

cat jtp.txt  

Linux cat Display

如图,命令「cat jtp.txt」'jtp.txt' 文件的内容显示出来。

提示:同时显示多个文件的内容可以在同一行中输入多个文件名例如「cat file1 file2 file3... fileN」

Linux cat 命令常用方法

命令选项 功能
cat > [fileName] 创建一个文件。
cat [oldfile] > [newfile] 复制 oldfile 文件内容到 newfile 。
cat [file1 file2 ... ] > [new file name] 拼接合并多个文件到一个新文件中。
cat -n/cat -b [fileName] 输出显示文件内容并在每行前加行号。
cat -e [fileName] 输出文件内容并每行尾加 $ 符。
cat [fileName] << 应用于即时文本输入。

Linux cat 命令(创建一个文件)

'cat' 命令结合重定向符 (>)可用于创建一个新文件。

语法:

cat > <file name>  

举例:

$ cat > javatpoint  

Linux cat Create1

见如上截图所示,我们创建一个名为 「javatpoint」的新文件。下面是创建过程。

命令行中键入 "cat >javatpoint" ,回车后,命令行直接进入下一行,等待你输入内容。

输入回车会另起一行,等待输入。若想结束,按 「ctrl+d」快捷键,输入状态退出,文件被保存。

向一个文件中追加内容

cat」命令结合重定向符「>>」可向一个文件尾追加内容。

语法:

cat >> <file name>  

举例:

$ cat >> javatpoint  

Linux cat Creat2

见如上截图所示,命令「cat >> javatpoint」执行时,向文件「javatpoint」尾中加入一行,等待输入。按 「ctrl+d」快捷键退出输入状态,保存文件。

Linux cat 命令(复制文件)

cat」命令可用于复制一个文件内容到一个新文件。

语法:

cat <older file name> > <newer file name>  

举例:

$ cat combo > combo2  

Linux cat Copy

见如上截图所示,执行 「cat combo>combo2」命令将文件 「combo」内容复制到 「combo2」文件中。

Linux cat 命令(拼接文件)

cat」命令可用于拼接多个文件内容到一个新的单个文件中。

语法:

cat <filename1> <filename2>....  > <newFilename>  

举例:

$ cat file1 file2 file3 > combo  

Linux cat concatenate1

见如上截图所示,使用 「cat file1 file2 file3 > combo」命令将 「file1,file2,file3」合并到 「combo」文件中。

注意三个文件内容被依序合并到一起保存到 「combo」文件中。

插入新空白行

使用连接符(-)合并多个文件时插入空白行。

语法:

cat - <filename1> <filename2>. . . . > <new filename>  

举例:

cat - file1 file2 file3 >combo  

Linux cat concatenate2

见如上截图所示,我们插入空白行在合并的文件中。

注意: 空白行将只被插入到文件开始处。

Linux 'cat -n' 命令(显示行号)

cat -n」命令在每行前添加显示行号(译注:文件本身内容不改变)

语法:

cat -n <fileName>  

举例:

$ cat -n jtp.txt  

Linux cat Display Line Number1

见如上截图所示,显示 「jtp.txt」文件内容时,每行前添加行号。

'cat -b \<file name>' 命令

cat -b」命令选项移除在空白行上加行号。

语法:

cat -b <file name>  

举例:

cat -b jtp.txt  

Linux cat Display Line Number2

在上一例截图中,可见 19 行后,第 20 行编号 ,虽然它是空白行。

在本例截图中,使用 「cat -b jtp.txt」命令选项,第 20 行由于是空白行,没有编行号。

Linux 'cat -e' 命令(行尾显示 $)

cat -e」命令显示内容每行后添加 '$' 符。

语法:

cat -e <fileName>  

举例:

$ cat -e program  

Linux cat e

见如上截图所示,文件内容包含一些空白行。用户不能辨别每行后的空格符。「cat -e program」命令将在每行尾添加 $ 符,可看出潜在的行尾空格。

Linux cat 命令(使用结束标志--即时文本)

「'cat << EOF'」命令选项中的 'EOF' 作为输入文本的结束标记。这种机制被称为 即时输入指定 ,文件在这个标记输入后结束输入并保存。

文件输入可用 'ctrl+d' 快捷键结束输入并保存,这个同结束标记机制作用相同。

注意: 其它的不同于 'EOF' 字符串都可用于输入结束标记,

语法:

cat << EOF  

举例:

$ cat > exm.txt << EOF  

Linux cat end marker

见如上截图所示,我们通过 「cat > exm.txt << EOF」命令创建名为 'exm.txt' 的文件并即时输入其内容,最后在行开始输入结束标记 'EOF' 结束文件输入并保存退出。

Linux Cat 作为过滤器

当 'cat' 命令用于管道内,它除了将标准输入送到标准输出外,它不起其它作用。

语法:

cat <fileName> | cat or tac |  cat or tac |. . .  

举例:

cat weeks.txt | tac | cat | cat | tac  

Linux Cat Filter

见如上截图所示,管道中任一个 「cat」和 「tac」命令是将它的输入连接到它的输出。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 1

插入新空白行 使用连接符(-)合并多个文件时插入空白行。

这个感觉不妥,- 是标准输入,这样输入命令后还需要手动收入空行。

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!