[命令管道]cat f|tee f -|tee f清除文件内容且无回显

问题描述

[命令管道]cat f|tee f -|tee f清除文件内容且无回显

首先是echo aaa>foo.txt
这样就把aaa写进foo.txt里面了吧
如果接下来cat foo.txt|tee foo.txt -

这样会显示两遍foo.txt,而foo.里面的内容保持不变

那么问题来了
为什么当我运行cat foo.txt|tee foo.txt -|tee foo.txt的时候
1.无任何回显

2.foo.txt变成了一个空文件?

本来我以为的是应该会(cat foo.txt|tee foo.txt -)|tee foo.txt
这样foo.txt 就会变成它原来内容的两倍
=============更=======新===================
如果是cat foo.txt|tee foo.txt -|tee foo2.txt的话 那么foo2.txt确实变成了foo.txt的两倍

解决方案

使用权限:所有使用者

使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)

参数:

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

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

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

-v 或 --show-nonprinting

通用范例:

cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里

cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。

注:

  1. OUTFILE 指输出的 image 档名。
  2. IMG_FILE 指 image file。
  3. 若从 image file 写回 device 时,device 容量需与相当。
  4. 通常用在制作开机磁片。

示例:

给定三个文件file1,file2,file3,其内容分别如下:

file1:

abc

file2:

def

file3:

执行cat file1 > file2后,file2里面的数据将被替换为file1中的内容了,即file2中的内容由原来的def变成了abc。

执行cat file1 >> file2后,将会在file2中原有的数据中追加file1中的内容,即file2中的内容变为:

def

abc

执行cat file1 file2 > file3后,file3中的内容变为:

abc

def

再次执行cat file1 file2 >> file3后,file3中的内容变为:

abc

def

abc

def

执行cat /dev/null > file3后,将会清空file3中的内容。

时间: 2024-10-29 01:14:50

[命令管道]cat f|tee f -|tee f清除文件内容且无回显的相关文章

一天一个shell命令 linux文件内容操作系列-cat命令详解_linux shell

注:在awk命令之后,没有太多复杂命令,都是一些基础命令. 说明: cat,是单词 concatenate 的缩写, 把文件的内容输出到stdout.当与重定向操作符 (> 或 >>结合使用时, 一般都是用来将多个文件连接起来. 用法: 1. $cat file1 file2 file3 2. 不仅可以从文件中读取内容并且拼接,还能从标准输入流中读取 例如:$echo 'some content' |  cat - file.txt 解释:这里的 - 就代表了 'some content

linux基础命令(10) cat命令

cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容 ,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定 向符号配合使用. 1.命令格式: cat [选项] [文件]... 2. 命令功能: cat主要有三大功能: 1.一次显示整个文件:cat filename 2.从键盘创建一个文件:cat > filename 只能创建新文件, 不能编辑已有文件. 3.将几个文件合并为一个文件:cat file1 file2 > file 3.命令参数: -A, --

菜鸟学Linux命令:cat命令 查看文件内容

cat命令的用途是连接文件或标准输入并打印. 这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. Linux下查看文件内容的方式很多:vi 文件名 #编辑方式查看,可修改cat 文件名 #显示全部文件内容more 文件名 #分页显示文件内容tail 文件名 #仅查看尾部,还可以指定行数head 文件名 #仅查看头部,还可以指定行数sed '1,$'p 文件名 #可以指定起始行和结束行的 cat的主要功能: 1.一次显示整个文件:cat

linux命令学习——cat

1.前言 今天需要处理一个oui.txt文件,需要从中抽丝man和orginaziton信息,导出到另外一个文件中.可以cat和grep命令进行操作.之前对cat命令了解一下,知道cat可以查看文件内容和创建文件.今天在此详细的总结一下,以便日后使用. 2.cat命令功能 cat命令有三个功能, (1)查看文件内容 (2)创建新文件(包括将多个文件合并为一个文件) (3)向已有文件中添加内容 3.命令格式 cat [OPTION]... [FILE]... 选项为: -A, --show-all

LINUX学习(四)在Linux文件内容查询命令

grep.fgrep和egrep命令 这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名. grep命令一次只能搜索一个指定的模式: egrep命令检索扩展的正则表达式(包括表达式组和可选项): fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令.         这组命令在搜索与定位文件中特定的主题方面非常有用.要搜索的模式可以被认为是一些关键词,您可以用它们来搜索文件中包含的这

Linux查看文件内容、创建、查看软硬链接命令示例

  命令1:查看文件内容 "cat 文件名" 查看文件内容,页面停留在最后. "more 文件名" 分页查看文件内容 回车 下一行 空格 翻页 q 退出 "head 文件名" 查看文件内容的前几行,默认前10行,如果想制定看前n行,加选项-n 例如 "head -5" 查看前五行 tail 和head相反,"tail -5" 最后五行. tail -f 动态显示最后十行,例如查看日志文件 命令2:创建软连接

Linux查看文件内容、创建、查看软硬链接命令

  命令1:查看文件内容 "cat 文件名" 查看文件内容,页面停留在最后. "more 文件名" 分页查看文件内容 回车 下一行 空格 翻页 q 退出 "head 文件名" 查看文件内容的前几行,默认前10行,如果想制定看前n行,加选项-n 例如 "head -5" 查看前五行 tail 和head相反,"tail -5" 最后五行. tail -f 动态显示最后十行,例如查看日志文件 命令2:创建软连接

Linux中使用grep命令搜索文件名及文件内容的方法

  从文件中搜索并显示文件名 当你从不止一个的文件中搜索时,默认它将显示文件名: 代码如下: grep "word" 文件名 grep root /etc/* 示例输出: 代码如下: /etc/bash.bashrc: See "man sudo_root" for details. /etc/crontab:17 * * * * root cd / && run-parts --report /etc/cron.hourly /etc/cronta

grep 命令系列:如何在 UNIX 中根据文件内容查找文件

grep 命令系列:如何在 UNIX 中根据文件内容查找文件 为了完成课程作业,我写了很多 C 语言代码并把它们保存为 /home/user/c/*.c 和 *.h.那么在 UNIX shell 窗口中我如何能通过字符串或者单词(例如函数名 main())文件内容来查找文件呢? 你需要用到以下工具: [a] grep 命令 : 输出匹配模式的行. [b] find 命令: 在目录层次中查找文件. 使用 grep 命令根据内容查找文件 输入以下命令: grep 'string' *.txt gre