热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1、Linux文本处理基础命令

1、Linux文本处理基础命令Liunx文本处理基础命令是运维工程师不可绕过,必须熟悉掌握的关键命令。更新至:1、Sort2、tr3、cut4、uniq5、wc6、tee7、p

1、Linux文本处理基础命令

Liunx文本处理基础命令是运维工程师不可绕过,必须熟悉掌握的关键命令。

更新至:1、Sort 2、tr 3、cut 4、uniq 5、wc 6、tee 7、paste

1、Sort:
#sort命令主要用于排序,可针对文本文件内容,以行为单位进行排序。
SYNOPSIS:sort [OPTION]... [FILE]...
常用选项:不加选项默认为以ASCII码进行排序;
-f:排序时忽略大小写;
-n:按数值大小排序;
-o :排序后结果输出文件(如果要直接修改本文件,要用-o,用重定向和tee命令都会清空原文件内容);
-r:逆序显示;
-t <分隔字符>:指定排序时所用分隔字符;
-k 选择以哪个区间进行排序;
E.g:

# cat /etc/passwd |sort -n -k3 -t: -o /backup/passwd.bak#以:为分隔符,第三个区间,进行数值排序,并将结果输出到/backup/passwd.bak
polkitd:x:997:996:User for polkitd:/:/sbin/nologin
systemd-network:x:998:997:systemd Network Management:/:/sbin/nologin
systemd-bus-proxy:x:999:998:systemd Bus Proxy:/:/sbin/nologin
simpletime:x:1000:1000:SimpleTime:/home/simpletime:/bin/bash
allen:x:1001:0::/home/allen:/bin/bash
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin


2、tr
#tr命令可以对来自标准输入的字符进行替换、压缩和删除。作用强大。
SYNOPSIS:tr [OPTION]... SET1 [SET2]
常用选项:
-c或--complerment:把SET1字符替换完SET2
-d或--delete:删除所有属于SET1的字符;
-s或--squeeze-repeats:删除连续且重复的字符;                
E.g:

# echo "Hello Word"|tr "a-z" "A-Z"HELLO WORD# echo H1e3l3l4o23W323o43r54d6|tr -d  "[[:digit:]]"     HelloWord# echo H1e3l3l4o23W323o43r54d6|tr -d -c "[[:digit:]]"  13342332343546[root@localhost ~]# # echo H1e3l3l4o23W323o43r54d6|tr -d -c "[[:digit:]]\n"13342332343546# echo H1e3l3l4o23W323o43r54d6|tr -d -c "[[:digit:]]\n"|tr -s "[1-9]"134232343546


3、cut
#cut命令用来显示行中的指定部分,删除文件中指定字段。
SYNOPSIS:cat [OPTION]... [FILE]...
常用选项:
-d:指定分隔符
-f:指定显示字段范围
-c: 只显示指定范围内的字符
--complement:反向显示
E.g:

# cat passwd|cut -d: -f3-489:8938:3872:721000:10001001:0#cat passwd|cut -d: -f3-4 --complementpostfix:x::/var/spool/postfix:/sbin/nologinntp:x::/etc/ntp:/sbin/nologintcpdump:x::/:/sbin/nologinsimpletime:x:SimpleTime:/home/simpletime:/bin/bashallen:x::/home/allen:/bin/bash# cat passwd|cut -c2-ostfix:x:89:89::/var/spool/postfix:/sbin/nologintp:x:38:38::/etc/ntp:/sbin/nologincpdump:x:72:72::/:/sbin/nologinimpletime:x:1000:1000:SimpleTime:/home/simpletime:/bin/bashllen:x:1001:0::/home/allen:/bin/bash


4、uniq
#uniq可以用来去除排序过程中文件的重复行并统计重复行次数,但重复行必须是相邻的,因此一般经常与sort合用。
SYNOPSIS:uniq [OPTION]... [INPUT [OUTPUT]]
常用选项:
-i:忽略大小写字符的不同;
-c:进行计数;
-u:只显示唯一的行;
E.g:

# sort helloword |uniqGeeHello Word# sort helloword |uniq -c1 2 Gee2 Hello Word# sort helloword |uniq -dGeeHello Word# sort helloword |uniq -uBlank lines #空白行


5、wc
#用于统计文件里有多少个单词,多少行,多少字符
SYNOPSIS:wc [OPTION]... [FILE]...
常用选项:
-l:统计行数
-w:统计单词数
-c:统计字符数
E.g:

# wc /etc/passwd44 #行   88 #单词 2323 #字符 /etc/passwd# wc /etc/passwd -lw44   88 /etc/passwd


6、tee
#读取标准输入的数据,将其内容输出到标准输出设备,同时保存成文件
SYNOPSIS:tee [OPTION]... [FILE]...
常用选项:
-a或--append:追加文件而非覆盖
E.g:

# free -m|tee /memory     total  used  free  shared  buff/cache  availableMem:   977   353    96      13         528        376Swap: 2047     0  2047# free -m|tee -a memory |cat memory       total  used  free  shared  buff/cache  availableMem:   977   353    96      13         528        376Swap: 2047     0  2047     total  used  free  shared  buff/cache  availableMem:   977   353    96      13         528        376Swap: 2047     0  2047


7、paste

#paste指令会把每个文件以列对列的方式,一列列合并
常用选项:
-s或--serial:让每个文件以单行显示,而不是以单列显示。
-d或--delimiters:指定间隔符,用指定的间隔符取代默认的跳格字符;
E.g:

# cat a b ca1a2a3b1b2c1c3# paste a b c      a1      b1      c1a2      b2      c3a3# paste a b c -sa1      a2      a3b1      b2c1      c3# paste a b c -s -d:a1:a2:a3b1:b2c1:c3


本文出自 “心有猛虎,细嗅蔷薇” 博客,请务必保留此出处http://allenyang.blog.51cto.com/10991027/1787996


推荐阅读
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文讨论了在使用PHP cURL发送POST请求时,请求体在node.js中没有定义的问题。作者尝试了多种解决方案,但仍然无法解决该问题。同时提供了当前PHP代码示例。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
author-avatar
mobiledu2502920897
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有