linux cat >> 命令

linux cat >> 命令,第1张

cat 命令用于连接文件并打印到标准输出设备上。cat是concatenate的简写,类似于dos下面的type命令,使用权限为所有使用者。

cat file1 >>file2的意思是把 file1 的文档内容输入file2 这个文档里。

扩展资料:

cat的语法格式:

cat [-AbeEnstTuv] [--help] [--version] fileName

参数说明:

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

比如:

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 >textfile2

参考资料:cat(linux命令)-百度百科

楼上的 f1.c清空的原理讲的正确 但是

$ cat <f1.c >>f1.c

会造成死循环 ,瞬间会造成巨大的文件 , 不要误导人了 呵呵

lz 要想明白这个 一定要了解<的到底是干什么的

对于你的命令 cat <f1.c >f1.c 表示

cat 命令以 f1.c 文件作为 stdin,同时以 f1.c 文件作为 stdout

一般的 ,linux中的文件都有一个标记叫做EOF ,End of File ,此标记表示为文本结束符 ,这样一来 f1.c的文件尾部就是EOF , 执行最后一步的重定向时 就将EOF重定向到了 f1.c ,这样 直接将一个EOF重定向到文件的时候表示将文件清空

其实你的命令等效于

$ cat <<EOF >f1.c

>EOF

对于stdin来讲 它是忠实的呈现来源的各个字节的

这个例子没什么实用价值 也就是让人了解 <>的功能以及特点, 逻辑上来讲 从一个文件读入在重新输出到文件本身有什么意思呢.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6250462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存