使用cat命令和EOF标识输出多行文件 不指定

转载 2015年07月10日 17:38:21

[原]使用cat命令和EOF标识输出多行文件  不指定


在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中。(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判断生成不同的最终文件等等。


一、cat和EOF
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
EOF是“end of file”,表示文本结束符。
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
二、使用
看例子是最快的熟悉方法:
# cat << EOF > test.sh
> #!/bin/bash
> #you Shell script writes here.
> EOF

结果:
引用
# cat test.sh
#!/bin/bash
#you Shell script writes here.

可以看到,test.sh的内容就是cat生成的内容。
三、其他写法
1、追加文件
# cat << EOF >> test.sh

2、换一种写法
# cat > test.sh << EOF

3、EOF只是标识,不是固定的
# cat << HHH > iii.txt
> sdlkfjksl
> sdkjflk
> asdlfj
> HHH

这里的“HHH”就代替了“EOF”的功能。结果是相同的。
引用
# cat iii.txt
sdlkfjksl
sdkjflk
asdlfj

4、非脚本中
如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识
# cat > iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk
Ctrl-D

结果:
引用
# cat iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk

※关于“>”、“>>”、“<”、“<<”等的意思,请自行查看bash的介绍。

cat <<EOF与cat <<-EOF的区别

cat
  • apache0554
  • apache0554
  • 2015年05月05日 22:03
  • 31013

关于cat >file,cat <file <<EOF

1、cat >file记录的是键盘输入,相当于从键盘创建文件,并且只能创建新文件,不能编辑已有文件.>是数据重导向,会将你输入的文本内容输出到file中。 2、cat cat命令是linux...
  • xingfujie
  • xingfujie
  • 2012年06月12日 09:44
  • 22701

cat <<EOF

(1)cat和EOF简介 cat    用于显示文本文件内容,全部输出 EOF   “end of file”,表示文本结束符   (2)使用 用法1.多行导入文件(新建...
  • baoendemao
  • baoendemao
  • 2016年06月11日 23:41
  • 1493

shell中的cat和文件分界符(<<EOF)

在shell中,文件分界符(通常写成EOF,你也可以写成FOE或者其他任何字符串)紧跟在 1、最简单的用法 root@ribbonchen-laptop:~#cat > ha > haha ...
  • mosesmo1989
  • mosesmo1989
  • 2016年04月11日 17:08
  • 2136

Linux CAT与ECHO命令详解

cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的; cat主要有三大功能: 1.一次显示整个文件。 $ cat   filename 2.从键盘创建一个文件。 $ cat  ...
  • jianjian610094863
  • jianjian610094863
  • 2015年01月30日 12:28
  • 4233

Linux命令详解:cat、more、less命令 结合grep 基本可以查看所有的文件

在使用和维护Linux系统时,常常需要查看文件的相关内容,那么如何才能做到呢?下面小编就以CentOS6.4系统为例演示查看文件内容的几种常用的方法。 工具/原料 ...
  • LXB15959168136
  • LXB15959168136
  • 2016年07月02日 22:43
  • 14668

文本每行都应该换行吗(cat输出文件时会在末尾自动加上换行吗)

问题起源 ArchStacker遇到一个很神奇的问题:cat输出文件时会在末尾自动加上换行吗? 在IRC上收到这条消息后,我自己测试了一下发现cat不会自动加换行。后面测试编辑器时发现是VIM...
  • hoxily
  • hoxily
  • 2015年03月13日 16:16
  • 2936

[Unix/Linux] catsrc.sh: 此脚本用于在写报告时把项目的多个源代码文件方便的 `cat` 到一个文件上, 并把来自不同的文件之间加上一个标识头以区分输出文件里的不同文件

 写了一个bash脚本程序,用于在写报告时把项目的源代码方便的 `cat` 到一个文件上, 并把来自不同的文件之间加上一个标识头以区分输出文件里的不同文件   直接演示脚本的用法  [XXX@XXX-...
  • Dooit
  • Dooit
  • 2011年06月26日 23:29
  • 628

文件操作-标准I/O操作--文件结束标识EOF

文件结束标识EOF EOF是end-of-file的缩写,表示的是文件的结束标志,可以是文件(file), 也可以是标准输入(stdio)。与换行符"\n"不同,换行符是一行的结束标志。以及字符...
  • u012606927
  • u012606927
  • 2013年12月29日 19:57
  • 1536

cat使用(EOF的一点误区)

在linux shell脚本中我们经常见到类似于cat 首先必须要说明的是EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。 接下来,简单描述一下几种常...
  • hanruikai
  • hanruikai
  • 2012年09月28日 11:16
  • 400
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用cat命令和EOF标识输出多行文件 不指定
举报原因:
原因补充:

(最多只允许输入30个字)