Shell—文件内容操作
读取文件的每一行内容并输出
#!/bin/bash # 方法1
while read line
do
echo $line
done < a.txt # 方法2
cat a.txt | while read line
do
echo $line
done # 方法3
# for line in `cat a.txt`
for line in $(cat a.txt)
do
echo $line
done
文件内容排序工具 sort 和 uniq
sort:sort是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。
用法:sort [选项] 参数
- -n:按照数字进行排序
- -r:反向排序
- -u:等同于uniq,表示相同的数据仅显示一行
- -f:忽略大小写 -b:忽略每行前面的空格 -M:按照月份进行排序
- -t:指定分隔符,默认使用Tab键分隔 -o <输出文件>:将排序后的结果转存至指定文件 -k:指定排序区域
[root@localhost ~]# sort /etc/passwd
[root@localhost ~]# sort -r /etc/passwd
uniq:去除重复行,并统计每行出现的次数(相邻行)。uniq工具通常与sort命令结合使用,用于报告或者忽略文件中的重复行。
用法:uniq [选项] 参数
- -c:进行计数
- -d:仅显示重复行(这里的重复行,仅限相邻行重复。如果有两行重复但是不相邻,则不满足)
- -u:仅显示出现一次的行
[root@localhost ~]# uniq -c test.txt
[root@localhost ~]# uniq -u test.txt
[root@localhost ~]# sort -n test.txt | uniq -c # 删除test.txt文件中重复行,并统计该行重复次数 [root@localhost ~]# sort -n test.txt | awk '{if($0!=line)print; line=$0}'
[root@localhost ~]# sort -n test.txt | sed '$!N; /^\(.*\)\n\1$/!P; D'
统计文件的行数、字数、字节数, 并将统计结果显示输出
[root@localhost ~]# wc -l /etc/passwd # 统计文件的行数(里面内容的行数)
[root@localhost ~]# wc -c /etc/passwd # 统计文件的字节数
[root@localhost ~]# wc -m /etc/passwd # 统计文件的字符数
[root@localhost ~]# wc -w /etc/passwd # 统计单词出现次数
[root@localhost ~]# wc - lcw file1 file2
[root@localhost ~]# ls -l | wc -l # 用来统计当前目录下的文件数
Shell—文件内容操作的更多相关文章
- OC NSFileHandle(文件内容操作)
OC NSFileHandle(文件内容操作) 初始化 [NSFileHandle fileHandleForUpdatingAtPath:@"data.txt"]; //file ...
- grep sed awk 3个Linux中对文件内容操作的命令
在学习Linux命令中,发现3个有关于文件内容操作的命令grep,sed和awk,在这里简单汇总这3个命令主要作用,在实际中找到最合适的情景应用,详细用法可以参考其他文章. 1.grep命令 主要作用 ...
- ansible对文件内容操作
ansible lineinfile 简介 lineinfile该模块是操作文件中的每一行内容,他是按照行为单位的,和下面的replace模块并不冲突. 修改匹配行,如果不存在就会添加 tasks: ...
- 文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets
clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * stream); 函数说明 ...
- asp.net如何删除文件夹及文件内容操作
static void DeleteDirectory(string dir) { && Directory.GetFiles(dir).Length == ) { Directory ...
- shell 文件内容替换 sed用法
sed 's/要被替换的字符串/新的字符串/g' sed 's/test/mytest/g' example-----在整行范围内把test替换为mytest. 如果没有g标记,则只有每行第一个匹配的 ...
- Linux下Shell文件内容替换(sed)(转)
sed -i 's/被替换的内容/要替换成的内容/g' file #-i为直接修改并保存 参考: http://blog.sina.com.cn/s/blog_7211cb9201019hgd.htm ...
- Java文件读写操作指定编码方式防乱码
读文件:BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Re ...
- php最新学习-----文件的操作
一.文件:文件和目录 (1)判断文件的类型用:filetype() filetype("文件路径+文件名") //判断文件的类型 例如:我这里查找的的上一级目录中的json文件,输 ...
随机推荐
- 面试连环炮系列(二):你们的项目Redis做了集群部署吗
你们的项目Redis做了集群部署吗? 我们有大量数据需要缓存,而单实例的容量毕竟是有限的,于是做了Redis集群部署. 采取的方案是什么,Codis还是Redis Cluster,为什么要选择这个方案 ...
- canvas的介绍
1.我们前端的绘图技术有哪些: 统计图表:echarts 实时走势图:canvas: 在线画板:魔猴: HTML5游戏:three.js 2.我这里主要讲的是canvas绘图: <canvas& ...
- vue3.0 本地调试时Invalid Host header
问题场景: vue在开发时只能在本地浏览器里查看效果,我想在手机端真机调试,连接的代码还是本地环境,这样就不用频繁的发布了,于是绑定域名并指向本机的localhost:8080: 但是用域名访问时浏览 ...
- Servlet是什么?JSP和Servlet的区别。Servlet的生命周期。
Servlet(Server Applet),全称Java Servlet, 是用Java编写的服务器端程序.而这些Sevlet都要实现Servlet这个借口.其主要功能在于交互式地浏览和修改数据,生 ...
- Using the Security System 使用安全系统
In this lesson, you will learn how to use a Security System in the application. When you use this sy ...
- 如何修改CAD字体颜色?试试这种方法
CAD中编辑图纸的时候,使用的CAD制图软件来进行绘制,图纸中的CAD字体颜色都是默认的颜色,这样不方便进行查看.这个时候就需要修改CAD字体颜色了,那么如何修改CAD字体颜色呢?具体要怎么来进行操作 ...
- 从零开始学vuejs
最近一段时间都花在了学习vue上,还总是断断续续的,学习的效果不是很明显,思考了好久了,应该是没有进行一个系统的总结,导致很多知识点总是似是而非,而且也有一部分是思维还没有从java转变过来,废话不多 ...
- 一步一步创建聊天程序2-利用epoll来创建简单的聊天室
如图,这个是看视频时,最后的作业,除了客户端未使用select实现外,其它的要求都有简单实现. 服务端代码如下: #include <stdio.h> #include <strin ...
- 简单搭建docker registry
已知信息: 服务端IP:192.168.7.2xx 客户端IP:192.168.7.1xx 服务端: docker registry中镜像本地映射地址:/Users/dockergit/private ...
- javascript---简介的切换图片效果。
<!--切换图片--> <img src="img/9.gif" alt="" id="img"> <butt ...