3.14 wc:统计文件的行数、单词数或字节数

wc命令用于统计文件的行数、单词数或字节数。
 
-c 统计字节数
-w 统计单词数
-l 统计行数    
-L 打印最长行的长度
-m 统计字符数
 
查看文件的字节数、字数、行数等
[root@cs7-sm ~]# wc /etc/inittab
17 80 511 /etc/inittab
[root@cs7-sm ~]# wc /etc/inittab
17 80 511 /etc/inittab
[root@cs7-sm ~]# wc -c /etc/inittab
511 /etc/inittab
[root@cs7-sm ~]# wc -l /etc/inittab
17 /etc/inittab
[root@cs7-sm ~]# wc -m /etc/inittab
511 /etc/inittab
[root@cs7-sm ~]# wc -w /etc/inittab
80 /etc/inittab
[root@cs7-sm ~]# wc -L /etc/inittab
86 /etc/inittab
选项-L的使用
[root@cs7-sm ~]# for word in I am oldboy teacher welcome to oldboy training class.;do [ `echo $word|wc -L` -le 6 ] && echo $word;done
I
am
oldboy
to
oldboy
class.
查看登录系统的用户数
[root@cs7-sm ~]# who
root pts/0 2019-05-19 16:42 (10.0.0.1)
[root@cs7-sm ~]# who|wc -l
1

3.15 iconv:转换文件的编码格式

  iconv命令用于转换文件的编码格式。
 
iconv [options] [-f from-encoding]  [-t to-encoding] [inputfile]
iconv [选项]    [原编码]               [新编码]        [输入文件]
 
-f   encodingA 从编码A转换
-l   显示系统支持的编码
-t   encodingB 转换成编码B
-o   将输出输入到指定文件
 
[root@cs7-sm ~]# iconv -f gb2312 -t utf-8 gb2312.txt
Hello World

3.16 dos2unix:将DOS格式文件转换成UNIX格式

    将DOS(Windows系统)格式文件转换成UNIX格式(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以“\r\n”作为换行标志的,而UNIX下的文本文件是以“\n”作为换行标志的。所以在Linux中使用Windows的文本文件时,常常会出现错误。为了避免这种错误,Linux提供了两种文本格式相互转化的命令:dos2unix和unix2dos,dos2unix把Windows文件的“\r\n”转化成Linux文件的“\n”,unix2dos把Linux文件的“\n”转化成Windows文件的“\r\n”。这个命令也挺好记的,dos to unix→dos 2(two→to)unix→dos2unix
 
处理由Windows 系统创建的脚本文件。
[root@cs7-sm ~]# cat test_win.sh
#!/bin/bash exportfs_usage()
{
cat <<END
USAGE:$0 {start|stop|monitor|status|validate-all}
END
}
exportfs_usage[root@cs7-sm ~]# bash test_win.sh
test_win.sh: line 2: $'\r': command not found
test_win.sh: line 3: syntax error near unexpected token `$'\r''
'est_win.sh: line 3: `exportfs_usage()
[root@cs7-sm ~]# cat -A test_win.sh
#!/bin/bash^M$
^M$
exportfs_usage()^M$
{^M$
cat <<END^M$
USAGE:$0 {start|stop|monitor|status|validate-all}^M$
END^M$
}^M$
exportfs_usage[root@cs7-sm ~]# dos2unix test_win.sh
dos2unix: converting file test_win.sh to Unix format ...
[root@cs7-sm ~]# cat -A test_win.sh
#!/bin/bash$
$
exportfs_usage()$
{$
cat <<END$
USAGE:$0 {start|stop|monitor|status|validate-all}$
END$
}$
exportfs_usage[ro
[root@cs7-sm ~]# cat -A test_win.sh
#!/bin/bash$
$
exportfs_usage()$
{$
cat <<END$
USAGE:$0 {start|stop|monitor|status|validate-all}$
END$
}$
exportfs_usage[root@cs7-sm ~]# ^C
[root@cs7-sm ~]# sh test_win.sh
USAGE:test_win.sh {start|stop|monitor|status|validate-all}

3.17 diff:比较两个文件的不同

diff命令可以逐行比较纯文本文件的内容,并输出文件的差异。
 
只能同时比较2个文件。
 
-y  以并列的方式显示文件的异同之处
-c  使用上下文的输出格式
-W  在使用-y参数时,指定显示宽度
-u  使用统一格式输出
 
[root@cs7-sm ~]# cat >test1
1
2
3
4
5
6
[root@cs7-sm ~]# cat >test2
4
5
6
7
8
[root@cs7-sm ~]# diff test1 test2
1,3d0
< 1
< 2
< 3
6a4,5
> 7
> 8
以下是命令结果说明,diff默认的显示格式有如下三种提示。
a    -add
c    -change
d    -delete
 
例如:在1,3d0和6a4,5中,字母d/a前面的数字是文本1的行号,字母后面的是文本2的行号。其中以“<”打头的行属于文件1,以“>”打头的行属于文件2。
 
并排格式输出
[root@cs7-sm ~]# diff -y test1 test2    #<==使用一参数就可以并排输出。
1 <
2 <
3 <
4 4
5 5
6 6
> 7
> 8 [root@cs7-sm ~]# diff -y -W 30 test1 test2
1 <
2 <
3 <
4 4
5 5
6 6
> 7
> 8
上下文输出格式
[root@cs7-sm ~]# diff -c test1 test2
*** test1 2019-05-19 21:06:47.567530785 +0800
--- test2 2019-05-19 21:07:01.624530484 +0800
***************
*** 1,6 ****
- 1
- 2
- 3
4
5
6
--- 1,5 ----
4
5
6
+ 7
+ 8 "-"表示test2比test1少的行数。
"+"表示test2比test1多的行数。
统一格式输出
[root@cs7-sm ~]# diff -u test1 test2
--- test1 2019-05-19 21:06:47.567530785 +0800
+++ test2 2019-05-19 21:07:01.624530484 +0800
@@ -1,6 +1,5 @@
-1
-2
-3
4
5
6
+7
+8
比较两个目录
 
[root@cs7-sm ~]# diff /etc/rc3.d/ /etc/rc6.d/
Only in /etc/rc6.d/: K90network
Only in /etc/rc3.d/: S10network

3.18 vimdiff:可视化比较工具

vimdiff调用vim打开文件,可以同时打开2个、3个或4个文件,最多4个文件,并且会以不同的颜色来区分文件的差异。
最多对比4个文件。

3.19 rev:反向输出文件内容

rev命令可以按行反向输出文件内容。
字符串反转
[root@cs7-sm ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@cs7-sm ~]# echo {1..10}|rev
01 9 8 7 6 5 4 3 2 1
文本反转
[root@cs7-sm ~]# rev gb2312.txt
界世好你
! dlroW olleH
 
 

3.14-19 wc、iconv、dos2unix、diff、vimdiff、rev的更多相关文章

  1. VUE温习:内存泄漏、Vue.$set、key作用与虚拟diff算法

    一.内存泄漏 1.指令绑定了事件,却没有解绑事件,容易产生内存泄漏.(曾经遇到过的案例) 2.v-if指令产生内存泄漏,比如v-if删除了父级元素,却没有删除父级元素里的dom片段 3.跳转到别的路由 ...

  2. wc、iconv命令

    一.wc:统计文件打印换行符,单词和字节数 语法:       wc [OPTION] ... [FILE] ...       wc [OPTION] ... --files0-from = F 描 ...

  3. 第7.19节 Python中的抽象类详解:abstractmethod、abc与真实子类

    第7.19节 Python中的抽象类详解:abstractmethod.abc与真实子类 一.    引言 前面相关的章节已经介绍过,Python中定义某种类型是以实现了该类型对应的协议为标准的,而不 ...

  4. Android动画主要包含补间动画(Tween)View Animation、帧动画(Frame)Drawable Animation、以及属性动画Property Animation

    程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animatio ...

  5. 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装

      [MySQL]Linux下MySQL 5.5.5.6和5.7的RPM.二进制和源码安装 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后, ...

  6. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)

    二维数组,锯齿数组和集合 一.二维数组 二维数组:一维数组----豆角二维数组----表格 定义:1.一维数组:数据类型[] 数组变量名 = new 数据类型[数组长度];数据类型[] 数组变量名 = ...

  7. PHP把时间转换成几分钟前、几小时前、几天前的几个函数、类分享

    这篇文章主要介绍了php计算时间几分钟前.几小时前.几天前的几个函数.类分享,需要的朋友可以参考下一.函数实现实例1: <?php header("Content-type: text ...

  8. NX二次开发-UFUN圆弧矩阵标记、起始角和结束角(弧度测量)、圆弧中心坐标和圆弧半径UF_CURVE_ask_arc_data(边可以用)

    1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_ui.h> 5 #include <uf_modl.h> 6 #i ...

  9. 【Java】流程控制 - 顺序结构、 选择(分支)结构(单分支、双分支、多分支、嵌套)、循环结构(for、while、do...while)、跳转语句(break、continue)

    流程控制语句结构 文章目录 流程控制语句结构 一. 顺序结构 1. 输出语句 2. 输入语句 3.code 二.复合语句 三. 分支结构 1. 条件判断 1.单分支结构 2.双分支结构 3.多分支结构 ...

  10. 什么是机器学习的特征工程?【数据集特征抽取(字典,文本TF-Idf)、特征预处理(标准化,归一化)、特征降维(低方差,相关系数,PCA)】

    2.特征工程 2.1 数据集 2.1.1 可用数据集 Kaggle网址:https://www.kaggle.com/datasets UCI数据集网址: http://archive.ics.uci ...

随机推荐

  1. JDBC_02_JDBC连接数据库 (INSERT INTO)

    JDBC连接数据库 (INSERT INTO) String url="jdbc:mysql://127.0.0.1:3306/employ?useUnicode=true&char ...

  2. Jenkins 系统管理与配置

    1. Jenkins 安装插件的两种方式 2. 添加凭据(Credentials) 3. 系统管理--全局工具配置 4. 系统管理--系统设置 5. 常用插件说明 Extended E-mail No ...

  3. Pandas的loc,iloc与ix的用法及区别

    1.先来谈一谈loc,loc这个方法就是你有啥我就用啥,你没有的我不用,pandas对象的index,columns有什么,pd.loc[index,column],index就是pd.index的其 ...

  4. 数据结构之LinkedList | 让我们一块来学习数据结构

    highlight: monokai theme: vue-pro 上一篇文章中使用列表(List)对数据排序,当时底层储存数据的数据结构是数组.本文将讨论另外一种列表:链表.我们会解释为什么有时链表 ...

  5. display:table-cell,inline-block 之间的缝隙

    1.dispaly:table-call ,会让你对元素设置的为百分百的宽度失效,设置正常数值宽高时, vertical-align: middle;可让内部元素垂直居中,但如果加上position: ...

  6. 关于Oracle 数据库使用dba_tables或者all_tables或者user_tables统计数据时,与直接查询表统计时数据不一致的记录

    1. 今天写代码发现这个问题,这里记录一下, 不一致的原因是因为  dba_tables .all_tables.user_tables 不是实时的反应表的数据的,所以需要在查询统计之前对表进行手动分 ...

  7. 【synchronized锁】通过synchronized锁 反编译查看字节码指令分析synchronized关键字修饰方法与代码块的区别

    前提: 首先要铺垫几个前置的知识: Java中的锁如sychronize锁是对象锁,Java对象头中具有标识位,当对象锁升级为重量级锁时,重量级锁的标识位会指向监视器monitor, 而每个Java对 ...

  8. hdu4884 模拟

    题意:       一个厨师,他能炒n道菜,他每次炒菜用时t分钟,每次最多可以炒同样的菜k分,有m个人来买饭,给你每个人来的时间和菜的种类以及份数,问你每个人都是什么时候离开的. 思路:       ...

  9. 神经网络与机器学习 笔记—单神经元解决XOR问题

    单神经元解决XOR问题 有两个输入的单个神经元的使用得到的决策边界是输入空间的一条直线.在这条直线的一边的所有的点,神经元输出1:而在这条直线的另一边的点,神经元输出0.在输入空间中,这条直线的位置和 ...

  10. Nginx解决跨域问题(CORS)

    跨域 解决跨域问题一般有两种思路: CORS 在后端服务器设置 HTTP 响应头,把你需要运行访问的域名加入加入 Access-Control-Allow-Origin中. jsonp 把后端根据请求 ...