(菜鸡学习日记 各种使用命令只列举了常用几种,发现错误望指正)

一、管道

  在Linux 中,管道就是一个固定大小的缓冲区,大小为一页4K。它是一种通信的机制,可以使用管道符“ | ” 来连接进程,连接的进程可以自动运行。它的实现方式其实就是将前一个输出当做后一个进程的输入。

二、grep

  grep 是Linux 中基于行的文本搜索工具,输出为匹配到的所有符合条件的行。使用方式以及常用参数如下:

  grep [-icnv]  '匹配的字符'  filename(-i:忽略大小写 -c:统计包含条件的行数  -n:输出行号  -v:反向搜索)

三、sort

  sort 命令就是对无序数据进行排序,命令以及其常用参数如下:

  sort [-ntkr] filename (-n:使用数字排序  -t:指定分隔符  -k:指定第几列  -r:反向排序)

  举例说明:cat log.txt | sort -t ":" -k -2 -n(打开文件 log.txt (该文件中存在冒号隔开),对冒号隔开后的第二列按照数字排序,说明 如果没有指定-n 即使是数字也会按照String进行排序)

四、uniq

  如果一个文件中出现多行完全相同的内容,在某些应用场景下需要消除重复的行,只留一行方便处理,或者说要统计出重复行的出现次数,这时候就可以使用uniq命令了(注:uniq 一般都是和sort 命令配合进行使用,先使用sort 对文件进行排序,这样重复的行就回彼此相邻,再使用uniq 命令进行操作,因为uniq 命令只会对相邻的行进行过滤,如果有重复则删除若干行重复的内容。)

  使用方式: cat test.txt | sort | uniq 

  ( 如果使用 uniq -c 则输出包括空行在内的重复行的重复次数 )

五、cut

  cut 截取命令,同样这个命令也是以行为单位进行操作,可以通过指定格式取出用户所需要的部分,文件中又特定分隔符时可以使用分隔符进行截取,用法如下:

   cut -f 指定的列 -d ' 分隔符 '

   cat  /etc/passwd   |   cut   -f1,5   -d ' : '   (以冒号分隔,打印出passwd 文件的第1列和第5列 )

   上面例子中,文件passwd 是存在固定分隔符的文件,如果是没有特定分隔符的情况,cut 还可以通过指定字符数来截取:

    cat  /etc/passwd  |   cut  -c1-5,7-10  (打印passwd 文件每行1-5个字符,以及7-10个字符的内容)

六、tr

  tr 命令十分简单,主要作用在于文本的转换和删除操作,下面就举两个小栗子演示一下

  1)文本转换

   cat  test.txt  |  tr  '[a-z]'  '[A-Z]'  (将test.txt 文件中的所有小写字母转换成大写字母)

  2)删除

   cat  test.txt  |  tr  -d  ' : '  (将文件中所有的冒号删除)

七、paste 与 split 

  这两个命令作用相反,paste 用作文本合并,split 用作分割文件

  1)paste 还是以行为单位进行合并,用法也很简单:

   paste  a.txt  b.txt

  2)split 进行分割,需要分割的文本一般比较大,不然也就没有分割的必要了(注:文件的分割在Linux 中有两种,按行分割和按照大小分割,需要注意的是二进制文件无法按照行去分割,因为二进制没有“行”的概念),这个命令只介绍一下,笔者还没有用过,就列出他的文档供阅读。

-a, --suffix-length=N   use suffixes of length N (default 2) 指定拆分文件的后缀长度
-b, --bytes=SIZE put SIZE bytes per output file 按字节拆分,默认单位字节
-C, --line-bytes=SIZE put at most SIZE bytes of lines per output file 指定单行的最大大小,默认单位字节
-d, --numeric-suffixes use numeric suffixes instead of alphabetic 用数字作为拆分文件的后缀
-l, --lines=NUMBER put NUMBER lines per output file 按行数进行拆分
--verbose print a diagnostic just before each
output file is opened
--help display this help and exit
--version output version information and exit

Linux学习日记——字符处理的更多相关文章

  1. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  2. Linux 学习日记 1

    这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器   在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...

  3. Linux学习日记-(一)

    一.为什么学习Linux 大学时开始接触Linux,最开始学习的是RedHat(小红帽),感觉Linux好像很久不见的老朋友,用起来很舒服(虽然我们用的是DotNet).很喜欢它的命令模式,让我能接触 ...

  4. linux学习日记之老男孩

    2016年10月5日企业面试题:cp 命令复制文件是如果有覆盖可能的话如何去除确认步骤,如:将/mnt/text.txt 复制 到/temp/text.txt,去除覆盖确认命令.方法:1.加全路径的c ...

  5. Linux学习 :字符设备框架

    一.系统功能框架: U-boot : 启动内核 linux kernel: 启动应用 应用: open,read,write 都是通过C库实现,汇编就相当于swi val,引发中断,通过系统调用接口在 ...

  6. Linux学习日记——源码编译Apache

    [本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...

  7. Linux学习日记(二)

    在linux上运行.Net程序 并安装Linux网站 一.环境 ubuntu14.10(桌面版 官网下载的最新版) jexus5.6.3 正式版 MonoDevloper (安装完后里面有个Ubunt ...

  8. linux学习日记之鸟哥

    2016年10月11日星期二 df命令解释:用于显示磁盘分区上可以使用的磁盘空间.默认显示单位为KB,可以用该命令来获取硬盘被占用了多少空间,目前还剩多少空间等信息.用法:df 选项 参数例:df – ...

  9. Linux学习日记之磁盘与档案系统

    主要定义 磁盘的物理组成磁盘主要由圆形磁盘(多张).机械手臂.磁头等组成.每张磁盘都有不同的磁道,半径相同的磁道组成了磁柱,沿着中心划线可将磁盘分成若干扇区,每个扇区的大小是512Bytes. 磁盘分 ...

随机推荐

  1. 基于ACE的TAO开发---一个简单的入门实例-----VS2008(一)

    万事开头难,不管做什么事最开始总是最困难的,一旦上手了就好了. 这也是我自己学习corba编程的一点经验和心得.下面的例子主要是保证读者跟着走能立马看到效果. 1.机器上的TAO是实现已经装好的开发版 ...

  2. 使用QT的一些小Tipster

    1.在使用Qt Creator编程时,难免会用到将float类型转换为QString类型的方法:原文 1.1. 将QString类型转化为float类型,很简单 QString data;       ...

  3. 模拟试题A

    模拟试题A 一.单项选择题(2′*12=24′) 1.下面各种坐标变换中,会产生变换前后维度的改变的是( ) A)建模变换 B)观察变换 C)投影变换 D)视口变换 2.下列描述深度缓冲消隐算法的特点 ...

  4. nodeJs配置相关以及JSON.parse

    nodeJs配置相关 实际上说应用相关更好吧,我不是很懂. 今天在工作中,被同事解决了一个问题,虽然多花了一些额外时间,但长痛不如短痛嘛 实际上的问题就是npm run target等命令可以,但是n ...

  5. ubuntu18.0安装redis

    ubuntu版本:Ubuntu-Server 10.04.1 LTS redis版本:4.0.9 安装 使用apt安装 sudo apt-get update sudo apt-get install ...

  6. Nginx 支持websocket的配置

    Nginx 支持websocket的配置server { listen 80; server_name 域名; location / { proxy_pass http://127.0.0.1:808 ...

  7. N1-1 - 树 - Minimum Depth of Binary Tree

    题目描述: Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the ...

  8. phpunit使用

    phpunit使用 标签(空格分隔): php 现在是凌晨 3 点.我们怎样才能知道自己的代码依然在工作呢? Web 应用程序是 24x7 不间断运行的,因此我的程序是否还在运行这个问题会在晚上一直困 ...

  9. Django入门--模板标签、继承与引用

    一.模板标签 Django模板引擎提供的可以在模板中进行的各种逻辑操作,是函数调用的一种特殊形式,如循环.判断等功能,期语法规则为: {% tag %} content {% tag 参数1 参数2 ...

  10. c#设置button透明

    c#设置button透明 1.使用代码进行设置: this.button_welcom_login.FlatStyle = System.Windows.Forms.FlatStyle.Flat; t ...