功能:把一个或者多个文件(或者标准输入)连接在一起,并标准输出。(Concatenate FILE(s), or standard input, to standard output.)

cat命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示。它常与重定向符号配合使用。cat是Concatenate的缩写。

Linux 有三个特别文件,分别

1)标准输入 即 STDIN , 在 /dev/stdin

一般指键盘输入, shell里代号是 0

2) 标准输出 STDOUT, 在 /dev/stdout

一般指终端(terminal), 就是显示器, shell里代号是 1

3) 标准错误 STDERR, 在 /dev/stderr

也是指终端(terminal), 不同的是, 错误信息送到这里

shell里代号是 2

语法:cat   [选项]   [文件]

短选项长选项涵义

-A

--show-all

等于-vET

-b

--number-nonblank

对非空输出行编号

-e

等于-vE

-E

--show-ends

在每行结束处显示"$"

-n

--number

对输出的所有行编号

-s

--squeeze-blank

不输出多行空行

-t

与-vT 等价

-T

--show-tabs

将跳格字符显示为^I

-v

--show-nonprinting

使用^ 和M- 引用,除了LFD和 TAB 之外

输出文件内容

显示文件FILE的内容

cat FILE

显示文件FILE的内容加上行号,需要加上参数-n。行号从1开始。使用-n参数时,所有空行也会显示行号

cat -n FILE

忽略掉空行,用-b

cat -b FILE

当遇到有连续两行以上的空白行,就代换为一行的空白行,可以使用-s参数

cat -s FILE

保存内容

将标准输入保存到文件FILE中,如果文件已经存在,则覆盖掉原来的

cat >FILE

将标准输入追加到文件FILE末尾

cat >>FILE

合并文件

将两个文件FILE1和FILE2的内容合并为一个文件FILE

cat FILE1 FILE2 >FILE

cat 使用实例

从标准输入创建文件

[[email protected] setup]# code>cat >1.txt

Hello

Bash

Linux

键盘(快捷键)Ctrl+D 保存文件

[[email protected] setup]# ls -l 1.txt

-rw-r--r-- 1 root root 17 11-02 21:32 1.txt

[[email protected] setup]# cat 1.txt   显示1.txt文本内容。标准输出

Hello

Bash

Linux

[[email protected] setup]# cat <1.txt

Hello

Bash

Linux

[[email protected] setup]#

使用heredoc来生成文件

注意:粗体部分、here doc可以进行字符串替换

[[email protected] setup]# cat >2.txt <

> Hello

> Bash

> Linux

> PWD=$(pwd)

> EOF

[[email protected] setup]# ls -l 2.txt

-rw-r--r-- 1 root root 33 11-02 21:35 2.txt

[[email protected] setup]# cat 2.txt

Hello

Bash

Linux

PWD=/root/setup

[[email protected] setup]#

输出行号

[[email protected] setup]# cat -n 1.txt

1  Hello

2  Bash

3  Linux

[[email protected] setup]# nl 1.txt

1  Hello

2  Bash

3  Linux

[[email protected] setup]#

在bash脚本中把文件内容加载到变量中

[[email protected] ~]# TEXT=$(cat .bash_profile)

[[email protected] ~]#

[[email protected] ~]# echo "$TEXT"

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

unset USERNAME

[[email protected] ~]#

heredoc文档

在linux shell脚本中我们经常见到类似于cat << EOF的语句,不熟悉的童鞋可能觉得很奇怪:EOF好像是文件的结束符,用在这里起到什么作用?EOF是“end of file”,表示文本结束符。

<

(内容)

EOF

EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。

可以把EOF替换成其他东西,意思是把内容当作标准输入传给程

结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。

接下来,简单描述一下几种常见的使用方式及其作用:

cat <

cat >filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入。

cat >filename <

# cat >test.sh <

> #!/bin/bash

> #you Shell script writes here.

> EOF

其他写法

1、追加文件

#cat <>test.sh

2、追加文件,换一种写法

# cat >>test.sh <

3、EOF只是标识,不是固定的。这里的“HHH”就代替了“EOF”的功能。结果是相同的。

# cat <iii.txt

> sdlkfjksl

> sdkjflk

> asdlfj

> HHH

4、非脚本中。如果不是在脚本中,我们可以用Ctrl+D输出EOF的标识

# cat >iii.txt

skldjfklj

sdkfjkl

kljkljklj

kljlk

Ctrl+D

linux怎么cat结果导出txt,cat 输出文件内容相关推荐

  1. linux使用grep查找文件内容,Linux中使用grep命令搜索文件名及文件内容的方法

    这篇文章主要介绍了Linux中使用grep命令搜索文件名及文件内容的方法,同时文中还介绍了将匹配结果高亮显示的方法,相当实用,需要的朋友可以参考下 从文件中搜索并显示文件名 当从多个文件中搜索时,默认 ...

  2. python输出文本内容_python如何输出文件内容

    文件只是连续的字节序列.数据的传输经常会用到字节流,无论字节流是由单个字节还是大块数据组成. 你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行 ...

  3. C语言:编写程序,打开文本文件stu.txt,读出文件内容,将其中的字符‘s’删除,将修改后的内容存到student.txt文件中。

    /*C语言:编写程序,打开文本文件stu.txt,读出文件内容,将其中的字符's'删除,将修改后的内容存到student.txt文件中.*/ #include <stdio.h> void ...

  4. linux中可以使用以下命令查看文件内容,在Linux服务器中使用命令行中查看文件内容...

    通常查看文件内容的方法是简单地在文本编辑器中打开它.然而,为了更快速地查看,事实上,也为了在shell脚本中实现自动化,使用文本编辑器的方法并不适合. 在Linux中,有很多命令可以解决这个问题:在命 ...

  5. linux 上使用wc -l命令快速查看文件内容有多少行,以及如何匹配指定字符查看多少行

    1 linux的cat -n命令查看文件内容一共有多少行 1.cat -n命令查看文件多少行 cat -n filename 如:cat -n gallery_color_depth.txt - 2. ...

  6. mysql linux导入csv主键,MySQL导入csv文件内容到Table及数据库的自增主键设置

    写在前面 目的是测试将csv文件内容导入到表中, 同时记录一下自增主键的设置. 测试采用MySQL8.0. 新建表customer_info如下, 未设置主键. 修改上表, 添加主键id, 并设置为自 ...

  7. 命令行输出文件内容时末尾有一个菱形问号乱码(头歌)

    今天做头歌实验七第一题,题干描述:通过命令行参数将指定的文本文件内容显示在屏幕上.给出的源程序中存在一些逻辑错误,对程序进行修改.调试,使之能够正确完成指定任务. 源"错误"代码: ...

  8. linux将变量保存生成txt,linux-将输出命令保存在变量中并写入for循环

    我想写一个shell脚本.我使用以下命令行在嵌套子目录中列出我的jpg文件: find . -type f -name "*.jpg" 如何将该命令的输出保存在变量中,并为此编写一 ...

  9. linux中rev命令详解,详解Linux中输出文件内容的rev与tac命令使用

    rev rev 显示最后一个字符显示到第一个字符. 例: 代码如下: [root@localhost www]# cat test 1234 abcd [root@localhost www]# re ...

  10. Java获取本机连接过的所有WiFI密码并且以TXT文本输出文件,javaee开发技术与案例教程

    运行效果: WIFI信息会在控制台打印出来 自动打开生成WIFI信息的TXT文本 原理: 本教程原理就是用Java调用cmd命令获取WIFI信息,然后使用BufferedReader来读取内容. 使用 ...

最新文章

  1. Java项目:员工管理系统(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)
  2. Android使用自定义View时:Error inflating class错误的原因。
  3. JAVA 的wait(), notify()与synchronized同步机制
  4. WPF Wonders: Transformations (and Robots!)
  5. 表的插入、更新、删除、合并操作_1_插入新的记录
  6. Java / Web项目中的NPM模块Browser-Sync
  7. 权限丢失_不要让任何“账户权限”问题困扰你!
  8. linux 特殊shell变量
  9. 【转】科大校长给数学系学弟学妹的忠告本科数学参考书
  10. [预告]将要推出编程方式事务管理祥解!
  11. python flask的request模块以及在flask编程中遇到的坑
  12. 换种思维看互联网公司分配时间!
  13. ASP获取真实IP地址
  14. 小程序canvas转base64方法 使用upng库 亲测没问题
  15. 【三维路径规划】基于matlab A_star算法无人机山地三维路径规划【含Matlab源码 266期】
  16. Tampermonkeych插件看B站无地区限制,加速arxiv下载论文速度
  17. google服务框架 闪退_没Google服务闪退?教你解决手游谷歌服务问题
  18. UVA1586 Molar Mass(分子量)
  19. 今天我们谈谈关于java自学的那些事儿(为那些目标模糊的码农们)
  20. CC2541之串口(转)

热门文章

  1. BZOJ.3097 Hash Killer 1(卡掉自然溢出法)
  2. 智能视频监控 计算机视觉,传统视频监控与智能视频监控之对比
  3. 《深度学习:21 天实战 Caffe》资源已上传至码云、github
  4. 如何扩展以太坊:分片原理解释
  5. 【Word】公式“大括号”中的内容对齐
  6. 清华计算机系分数线2018四川,四川多少分能上清华?附清华大学在四川的录取分数线...
  7. war3鸿蒙大陆攻略,【魔兽rpg地图失落大陆攻略汇总】
  8. 芭蕉树上第十五根芭蕉-- qt帮助文档使用
  9. 关于严蔚敏教授的数据结构一书中return ok ,OK为1不为0的问题
  10. python实现——40W告警日志分析(上)