-
2022-01-05 15:01:27
Linux命令 cat/ less /more 等可以方便地查看文件,但有时候需要一行行读取并处理文本,这时候需要while或for循环来遍历。
FILENAME="path/to/your/file" ## 方法一 cat $FILENAME | while read line; do echo $line;done # 以行为分隔符 ## 方法二 while read line; do echo $line; done < $FILENAME # 以行为分隔符 ## 方法三 for line in `cat $FILENAME`; do echo $line;done # 以空格为分隔符,可以指定换行符分隔
更多相关内容 -
Linux 读取文件:cat 命令(拼接文件)
2021-05-13 18:14:24cat 是用于顺序读取文件打印到标准输出的 Unix 的标准功能。这个名字源于它可以连接文件的功能。'cat' 命令是最通用最强大的工具。它被认为是最常用的命令之一。它可以用于显示文件的内容,将内容从一个文件复制到另...cat 是用于顺序读取文件打印到标准输出的 Unix 的标准功能。这个名字源于它可以连接文件的功能。'cat' 命令是最通用最强大的工具。它被认为是最常用的命令之一。它可以用于显示文件的内容,将内容从一个文件复制到另一个文件中,连接多个文件的内容,显示行号和在行尾显示 $ 等等。
Linux cat 命令: 用于显示文件的内容
'cat' 命令可以用于显示文件的内容。
语法:
cat
示例:
cat jtp.txt
如图,命令「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 >
举例:
$ cat > javatpoint
见如上截图所示,我们创建一个名为 「javatpoint」的新文件。下面是创建过程。
命令行中键入 "cat >javatpoint" ,回车后,命令行直接进入下一行,等待你输入内容。
输入回车会另起一行,等待输入。若想结束,按 「ctrl+d」快捷键,输入状态退出,文件被保存。
向一个文件中追加内容
「cat」命令结合重定向符「>>」可向一个文件尾追加内容。
语法:
cat >>
举例:
$ cat >> javatpoint
见如上截图所示,命令「cat >> javatpoint」执行时,向文件「javatpoint」尾中加入一行,等待输入。按 「ctrl+d」快捷键退出输入状态,保存文件。
Linux cat 命令(复制文件)
「cat」命令可用于复制一个文件内容到一个新文件。
语法:
cat >
举例:
$ cat combo > combo2
见如上截图所示,执行 「cat combo>combo2」命令将文件 「combo」内容复制到 「combo2」文件中。
Linux cat 命令(拼接文件)
「cat」命令可用于拼接多个文件内容到一个新的单个文件中。
语法:
cat .... >
举例:
$ cat file1 file2 file3 > combo
见如上截图所示,使用 「cat file1 file2 file3 > combo」命令将 「file1,file2,file3」合并到 「combo」文件中。
注意三个文件内容被依序合并到一起保存到 「combo」文件中。
插入新空白行
使用连接符(-)合并多个文件时插入空白行。
语法:
cat - . . . . >
举例:
cat - file1 file2 file3 >combo
见如上截图所示,我们插入空白行在合并的文件中。
注意: 空白行将只被插入到文件开始处。
Linux 'cat -n' 命令(显示行号)
「cat -n」命令在每行前添加显示行号(译注:文件本身内容不改变)
语法:
cat -n
举例:
$ cat -n jtp.txt
见如上截图所示,显示 「jtp.txt」文件内容时,每行前添加行号。
'cat -b \' 命令
「cat -b」命令选项移除在空白行上加行号。
语法:
cat -b
举例:
cat -b jtp.txt
在上一例截图中,可见 19 行后,第 20 行编号 ,虽然它是空白行。
在本例截图中,使用 「cat -b jtp.txt」命令选项,第 20 行由于是空白行,没有编行号。
Linux 'cat -e' 命令(行尾显示 $)
「cat -e」命令显示内容每行后添加 '$' 符。
语法:
cat -e
举例:
$ cat -e program
见如上截图所示,文件内容包含一些空白行。用户不能辨别每行后的空格符。「cat -e program」命令将在每行尾添加 $ 符,可看出潜在的行尾空格。
Linux cat 命令(使用结束标志--即时文本)
「'cat << EOF'」命令选项中的 'EOF' 作为输入文本的结束标记。这种机制被称为 即时输入指定 ,文件在这个标记输入后结束输入并保存。
文件输入可用 'ctrl+d' 快捷键结束输入并保存,这个同结束标记机制作用相同。
注意: 其它的不同于 'EOF' 字符串都可用于输入结束标记,
语法:
cat <
举例:
$ cat > exm.txt <
见如上截图所示,我们通过 「cat > exm.txt << EOF」命令创建名为 'exm.txt' 的文件并即时输入其内容,最后在行开始输入结束标记 'EOF' 结束文件输入并保存退出。
Linux Cat 作为过滤器
当 'cat' 命令用于管道内,它除了将标准输入送到标准输出外,它不起其它作用。
语法:
cat | cat or tac | cat or tac |. . .
举例:
cat weeks.txt | tac | cat | cat | tac
见如上截图所示,管道中任一个 「cat」和 「tac」命令是将它的输入连接到它的输出。
-
Linux 中 用cat 输出文件内容
2021-05-11 10:06:05(Concatenate FILE(s), or standard input, to standard output.)cat命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示。它常与重定向符号配合使用。cat是Concatenate的缩写。...功能:把一个或者多个文件(或者标准输入)连接在一起,并标准输出。(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的内容
显示文件FILE的内容加上行号,需要加上参数-n。行号从1开始。使用-n参数时,所有空行也会显示行号
忽略掉空行,用-b
当遇到有连续两行以上的空白行,就代换为一行的空白行,可以使用-s参数
保存内容
将标准输入保存到文件FILE中,如果文件已经存在,则覆盖掉原来的
将标准输入追加到文件FILE末尾
合并文件
将两个文件FILE1和FILE2的内容合并为一个文件FILE
cat FILEcat -n FILEcat -b FILEcat -s FILEcat >FILEcat >>FILEcat FILE1 FILE2 >FILE
cat 使用实例
从标准输入创建文件
[root@web setup]# code>cat >1.txt
Hello
Bash
Linux
键盘(快捷键)Ctrl+D 保存文件
[root@web setup]# ls -l 1.txt
-rw-r--r-- 1 root root 17 11-02 21:32 1.txt
[root@web setup]# 显示1.txt文本内容。标准输出
Hello
Bash
Linux
[root@web setup]#
Hello
Bash
Linux
[root@web setup]#
使用heredoc来生成文件
注意:粗体部分、here doc可以进行字符串替换
[root@web setup]# <
> Hello
> Bash
> Linux
> PWD=$(pwd)
> EOF
[root@web setup]# ls -l 2.txt
-rw-r--r-- 1 root root 33 11-02 21:35 2.txt
[root@web setup]#
Hello
Bash
Linux
PWD=/root/setup
[root@web setup]#
输出行号
[root@web setup]#
1 Hello
2 Bash
3 Linux
[root@web setup]# nl 1.txt
1 Hello
2 Bash
3 Linux
[root@web setup]#
在bash脚本中把文件内容加载到变量中
[root@web ~]# TEXT=$()
[root@web ~]#
[root@web ~]# 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
[root@web ~]#cat 1.txtcat <1.txtcat >2.txtcat 2.txtcat -n 1.txtcat .bash_profile
heredoc文档
在linux shell脚本中我们经常见到类似于cat << EOF的语句,不熟悉的童鞋可能觉得很奇怪:EOF好像是文件的结束符,用在这里起到什么作用?EOF是“end of file”,表示文本结束符。
<
(内容)
EOF
EOF在这里没有特殊的含义,你可以使用FOE或OOO等(当然也不限制在三个字符或大写字符)。
可以把EOF替换成其他东西,意思是把内容当作标准输入传给程
结合这两个标识,即可避免使用多行echo命令的方式,并实现多行输出的结果。
接下来,简单描述一下几种常见的使用方式及其作用:
cat <
cat >filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入。
cat >filename <
# <
> #!/bin/bash
> #you Shell script writes here.
> EOFcat >test.sh
其他写法
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
-
C++在linux上读写文件
2021-10-18 14:02:33文章目录一、简介1.1 文件类型1.2 C++中操作文件的三大类二、linux中写文件2.1 步骤2.2 文件打开方式2.3 linux中写文件DEMO三、linux中读文件3.1 步骤3.2 读取文件的方式3.3 linux中写文件demo 一、简介 程序运行时...文章目录
一、简介
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会释放,可以通过读写操作将数据持久化
c++中对文件的操作必须要引入头文件< fstream >1.1 文件类型
对于读写操作来说,文件类型分为两种:
- 文本文件 ——以文本的ASCII码形式存储在计算机中
- 二进制文件——以文本的二进制形式存储在计算机中,用户一般不能读懂,需要编译
1.2 C++中操作文件的三大类
- ofstream:进行写操作,o表示output,f表示file
- ifstream:进行读操作,i表示input
- fstream:读写操作
二、linux中写文件
2.1 步骤
(1)引入头文件
#include <fstream>
(2)创建写入流对象
ofstream ofs;
(3)打开文件
ofstream.open("文件路径",打开方式);//文件路径可以使绝对路径,打开方式件1.2
(4)写数据
ofs << "要写入的数据" << endl;
(5)关闭流
ofs.close();
2.2 文件打开方式
代码 说明 ios::in 读文件时打开 ios::out 写文件时打开,会覆盖上次写入操作 ios::ate 打开文件初始位置在文件尾 ios::app 以追加方式写文件 ios::trunc 如果文件存在,则先删除后创建 ios::binary 以二进制的方式打开文件 注意:文件打开方式可以复合使用,用“|”隔开
例如:用二进制方式写文件:ios::binary | ios::out2.3 linux中写文件DEMO
(1)创建FileRead.cpp文件(这里文件名应改为FileWrite.cpp)
vim FileRead.cpp
(2)编写程序
#include <iostream> #include <fstream>//1.引入操作文件类的头文件 using namespace std; //读文件的方法 void readFile() { //2.创建文件流对象 ofstream ofs; //3.打开文件,如果没有,会在同级目录下自动创建该文件 ofs.open("file.txt",ios::app);//采取追加的方式写入文件 //4.写入文件 ofs << "abcdefg" << endl; ofs << "fijklmn" << endl; //5.关闭流 ofs.close(); } //main方法调用 int main() { readFile(); cout << "操作成功,请按任意键继续...";//linux中不能用system("pause")方法,采取这种方式进行提示 cin.clear(); cin.sync();//清空缓存区 cin.get();//接受键盘输入 return 0; }
(3)编译cpp文件
g++ FileRead.cpp
(4)查看文件内容
三、linux中读文件
3.1 步骤
linux中读文件操作和写文件操作步骤类似:
(1)引入头文件#include <fstream>
(2)创建读取流对象
ifstream ifs
(3)打开文件并判断文件是否打开成功
ifs.open("文件路径",打开方式);
(4)读取数据
有五中读数据的方式,见1.2
(5)关闭流ifstream. close();
3.2 读取文件的方式
总共有物种读取文件的方式
(1)直接读取所有内容,以空格换行int main() { ifstream ifs; ifs.open("file.txt", ios::in); if (!infile.is_open()) { cout << "读取文件失败" << endl; return; } //第一种读取方法, char buf[1024] = { 0 }; while (infile>>buf) { cout << buf << endl;//输出读取的文本文件数据 } }
(2)char型数组一行一行读取,可读取空格
int main() { ifstream ifs; ifs.open("file", ios::in); if (!infile.is_open()) { cout << "读取文件失败" << endl; return; } //第二种读取方法 char buf[1024]={ 0 }; while (infile.getline(buf,sizeof(buf))) { cout << buf << endl; } }
(3)字符串一行一行读取,可读取空格
int main() { ifstream ifs; ifs.open("file.txt", ios::in); if (!infile.is_open()) { cout << "读取文件失败" << endl; return; } //第三种读取方法 string buf; while (getline(infile,buf)) { cout << buf << endl; } }
(4)
字符读取,可读空格,效率低int main() { ifstream ifs; ifs.open("file.txt", ios::in); if (!infile.is_open()) { cout << "读取文件失败" << endl; return; } //第四种读取方法 char c; while ((c=infile.get())!=EOF) { cout << c; } }
(5)存入至vector容器中
int main() { ifstream ifs; ifs.open("file.txt", ios::in); if (!infile.is_open()) { cout << "读取文件失败" << endl; return; } //第五种读取方法 string s; vector<string>v1; while (getline(infile,s)) { infile >> s; v1.push_back(s); } for (int i = 0; i < v1.size(); i++) { cout << v1.at(i); cout << endl; } infile.close(); }
3.3 linux中写文件demo
(1)创建FileRead.cpp文件
vim FileRead.cpp
(2)编写程序
#include <iostream> #include <fstream> using namespace std; void fileRead() { ifstream ifs; ifs.open("file.txt",ios::in); //没有找到指定文件就返回 if(!ifs.is_open()) { cout << "没有找到指定文件"; return; } //进行读文件操作 char buf[1024] = {0}; while(ifs >> buf) { cout << buf << endl; } ifs.close(); } int main() { fileRead(); cout << "请按任意按钮继续..."; cin.clear(); cin.sync(); cin.get(); return 0; }
(2)编译cpp文件g++ FileRead.cpp
(3)查看输出
cat file.txt
文本文件内容
第一种方式结果:
第二、三、四、五种方式结果:
-
详解Linux指令文件覆盖和文件追加
2021-01-09 22:43:041.指令>和>>区别 指令 > : 如果文件存在,将原来文件的内容...cat 文件1 > 文件2 将文件1的内容覆盖到文件2中 echo “内容” > filename 将内容写入覆盖到文件中 3.实例: ls -l > filename: ls -l >>filename: -
linux下查看文件内容cat,more,less(示例代码)
2021-05-15 11:05:16与cat相反nl : 文件内容和行号一起输出more: 一页一页显示less: 与more类似,能够往前翻页head: 取头部几行tail: 取尾部几行od: 以二进制方式读取文件内容2. cat命令查看cat的參数 cat --h$ cat --hUsage: cat... -
Linux常用命令8:Linux文件内容操作---cat命令详解
2021-06-02 15:46:30Linux常用命令8:Linux文件内容操作—cat命令详解 说明: cat,是单词 concatenate 的缩写, 把文件的内容输出到stdout.当与重定向操作符 (> 或 着>>结合使用时, 一般都是用来将多个文件连接起来. 用法: $... -
Python Linux系统管理之文件读写
2020-12-05 00:26:08准备工作1、安装Ipython(请见”Ipython的安装”)2、实验用的文档(你自己用vi编辑器创建文件就好了)一、Python内置的Open函数在Python中,要对应文件进行操作,只要使用内置的Open函数打开文件即可。Open函数接受... -
Linux读取文件命令
2020-07-26 13:53:52linux除了使用vim查看文件还有以下 1、cat f1.txt,查看f1.txt文件的内容。 2、cat -n f1.txt,查看f1.txt文件的内容,并且由1开始对所有输出行进行编号。 3、cat -b f1.txt,查看f1.txt文件的内容,用法与-n相似,... -
Linux按行读取文件内容
2021-05-12 04:15:51方法1:while循环中执行效率最高,最常用的方法。function while_read_LINE_bottm(){While read LINEdoecho $LINEdone <... filename(待读取的文件)注释:习惯把这种方式叫做read釜底抽薪,因为这种方式在结... -
linux下cat 命令使用详解(显示文件内容)
2021-05-10 01:46:03这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。1.命令格式:cat [选项] [文件]...2.命令功能:cat主要有三大功能:1.一次显示整个文件:cat ... -
linux-读取/写入C中的二进制文件
2021-05-08 21:10:17linux-读取/写入C中的二进制文件有没有人有可以写入二进制文件的代码示例。 还有可以读取二进制文件并输出到屏幕的代码。 看例子,我可以写文件了,但是当我尝试从文件中读取文件时,它不能正确输出。4个解决方案86 ... -
Linux 文本文件读取的七种方式
2021-09-30 15:32:24Linux 文本文件读取 描述 任何操作系统文本查看读取都是最基础功能; linux系统中涉及文本读取的主要有7条命令(cat/tac/nl/more/less/head/tail) cat命令 命令用途 读取文件所有信息 将多个文件内容链接并打印... -
linux shell 读取文件的三种方式
2021-11-17 15:44:32[root@wpuj3zui5est1ifj-0002 ~]# cat -n back.sh 1 #!/bin/bash 2 #测试备份文件时候的文件重定向标准输入 3 exec < user.csv 4 read FILE_CONTENT 5 while [[ $? -eq 0 ]];do 6 echo “读取到一行内容... -
cat – 连接多个文件并打印到标准输出。 - Linux 命令大全
2021-05-15 16:40:48主要用途显示文件内容,如果没有文件或文件为-则读取标准输入。将多个文件的内容进行连接并打印到标准输出。显示文件内容中的不可见字符(控制字符、换行符、制表符等)。参数FILE(可选):要处理的文件,可以为一或多... -
Linux - 文件查看(cat)、输入输出重定向、解压缩(tar)
2019-08-10 14:59:34查看文件的命令(常用) cat tac more enter 下一行 space 下一页 b 上一页 head (默认显示前10行) head -n 5 xxx.txt tail tail -n 5 xxx.txt 输出输出重定向 一:配合echo使用 1.覆盖 echo ... -
Linux命令:cat
2021-05-12 12:25:11常用来显示文件内容,或将几个文件连接起来显示,或从标准输入读取内容并显示,常与重定向符号配合使用。tac是将cat反写过来,所以他的功能就跟cat显示顺序相反。1.命令格式:cat [OPTION]... [FILE]...2.命令功能... -
linux的cat命令
2022-04-07 20:52:39linux的cat命令 -
linux 文件读取需监控数据
2018-01-10 15:40:09# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 2 **uniq命令:删除重复行;wc –l命令:统计行数** 1.2 查看CPU核数 # cat /proc/cpuinfo | grep "cpu cores" | uniq cpu cores : 4 1.3 查看CPU型号 -
Linux读取文件信息的基础命令
2022-01-28 17:33:47cat 将整个文档加载到内存中,并进行一次性显示 除非后面使用管道,传递数据 tac 将整个文档加载到内存中,并进行一次性按行逆序显示 more less 分页查看文档内容 快捷键 回车 下一行 空格 下一页 b 回退 q 退出 ... -
Linux实时读取日志文件和不解压读取压缩文件和查看大文件
2022-01-04 18:51:33要查看文件的内容,cat不是最佳选择,特别是如果文件很大。cat命令将在屏幕上显示整个文件。 您可以使用Vi,Vim或其他基于终端的文本编辑器,但是如果您只想读取文件,则 less 命令是更好的选择。 less -N linuxidc.... -
linux常用的读取文件内容指令
2021-05-12 12:56:31linux常用于读取文件内容指令主要有以下七种:cat,tac,nl,more,less,head,tailcat 文件名 –将文件内容显示在屏幕上cat -n 文件名 –将文件内容显示在屏幕上,并显示行号cat -b 文件名 –将文件内容显示在屏幕上,并... -
Linux如何读取文件,如何翻页
2021-05-08 21:28:34linux读取文件的命令还是比较多的,例如:cat、more、less、head、tailcat命令操作cat 命令用于连接文件并打印到标准输出设备上。语法格式cat [-AbeEnstTuv] [--help] [--version] fileName参数-n : 由 1 开始对... -
Linux cat(查看文件的命令,从前向后)
2021-05-09 05:37:06这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。1.命令格式:cat[选项][文件]...2.命令功能:cat主要有三大功能:1.一次显示整个文件:... -
linux 命令:cat 详解
2021-12-02 14:57:39linux 命令:cat 详解 -
Linux命令之查看文件(cat、less、more)
2021-12-07 14:38:47cat、less、more命令均可以用来查看文件内容。 查看文件内容 命令 常用参数 操作说明 区别 备注 cat -n 对所有行编号,从1开始; -b 对除空行以外的所有行编号,从1开始; -s 对连续... -
Java读取Linux上文件
2021-02-12 13:58:20ss.execCommand("cat ".concat("path"+filename)); InputStream is = new StreamGobbler(ss.getStdout()); BufferedReader bs = new BufferedReader(new InputStreamReader(is)); while(true){ String line = bs.... -
Linux读取文件内容命令
2017-03-06 18:51:48Linux 中用户若对一个文件拥有 r (读)权限,便可查看该文件中的内容。常用的文件内容查看命令主要有一下几个:cat、tac、nl、more、less、head、tail,下面一一介绍。 1. cat cat 这个命令的作用是将文件内容全部... -
Linux centos 命令(10):cat 命令创建文件 合并几个文件为一个文件
2021-05-10 01:23:08这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。1.命令格式:cat [选项] [文件]...2.命令功能:cat主要有三大功能:1.一次显示整个文件:cat ...