使用Cygwin在WIN系统下处理文本常用命令

Posted 朽木自雕也

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Cygwin在WIN系统下处理文本常用命令相关的知识,希望对你有一定的参考价值。

1.打开Cygwin,把需要处理的文本复制你的安装目录例如:D:\\cygwin\\home\\Administrator

使用 ls命令查看根目录文件

2.现在我们就可以对1.txt文本进行操作,

3.我常用到命令

Sort排序功能】

1.指定列正向排序

对文本第一列排序 默认TAB分割

Sort -k 1 1.txt -o 输出.txt

对文本第二列排序 :分割

Sort -t: -k 2 1.txt -o 输出.txt

  

 

2.指定列逆向排序

对文本第一列排序 默认TAB分割

Sort -r -k 1 1.txt -o 输出.txt

  

 

对文本第二列排序 自定义分割符号“:”

Sort -r -t: -k 2 1.txt -o 输出.txt

  

 

3.指定列排序并去重

对文本第一列排序 默认TAB分割

Sort -u -r -k 1 1.txt -o 输出.txt

  

 

对文本第二列排序 自定义分割符号“:”

Sort -u -r -t: -k 2 1.txt -o 输出.txt

  

 

1.通用正向排序

sort 1.txt -o 输出.txt

 

2.通用逆向排序

sort -r 1.txt -o 输出.txt

 

3.数字正向排序

sort -n 1.txt -o 输出.txt

 

4.排序并去重

sort -u 1.txt -o 输出.txt

 

Uniq统计】

1.统计文本出现次数

详解:排序之后删除了重复行,同时在行首位置输出该行重复的次数

 

 

#sort testfile | uniq -c

1 friend

3 hello

2 world

 

2.只输出重复的行,并输出重复次数

#sort testfile | uniq -d -c

3 hello

2 world

 

3.仅显示不重复的行

sort testfile | uniq -u

 

split分割】

1.按行分割

分割成10行  文件名5位数字开头

split -l 10 -d -a 5  file

2.MB分割

分割成10MB大小  文件名5位数字开头

split -b 10m -d -a 5 file

Cat 合并文件】

Cat命令详解:http://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html

1.合并多个文件

Cat 1.txt 2.txt 3.txt > hb.txt

2.合并整个文件夹

Cat *.txt > newfile

 

Sed 

以行为单位行头行尾添加字符

1.行首添加字符

在每行的头添加字符,比如"TOU_",命令如下:

sed \'s/^/TOU_&/g\' 1.txt

2.行尾添加字符

2.在每行的添加字符,比如"Wei_",命令如下:

sed \'s/$/Wei_&/g\' 1.txt

 

3.每一行的行头和行尾分别添加字符

sed \'/./{s/^/Tou_/;s/$/Wei/}\' 1.txt

 

"^"代表行首,"$"代表行尾

\'s/$/&TAIL/g\'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找了

以行为单位的新增/删除

将第 2~5 行删除

sed \'2,5d

只要删除第 2

sed \'2d\'

要删除第 3 到最后一行

sed \'3,$d\'

在第二行后(亦即是加在第三行)加上『drink tea?』字样!

sed \'2a drink tea\'

那如果是要在第二行前

sed \'2i drink tea\'

以行为单位的替换与显示

将第2-5行的内容取代成为『No 2-5 number』呢?

sed \'2,5c No 2-5 number\'

仅列出文件内的第 5-7

Sed -n \'5,7p\'

数据的搜寻并显示

搜索有root关键字的行 模糊搜索哦

sed -n \'/root/p

数据的搜寻并删除

删除/etc/passwd所有包含root的行,其他行输出

nl /etc/passwd | sed \'/root/d\'

数据的搜寻并替换

sed \'s/要被取代的字串/新的字串/g\' 1.txt

替换@开 到TAB

sed \'s/@[^\\t]*\\t/\\t/g\' 1.txt

只保留有某个字符的行 用于保留某行,或者删除没有分隔符的行

sed -n \'/\\t/p\'> out.txt  只输出包含TAB的行

 

WC 

统计行数,在对记录数时,很常用

Wc -l 1.txt

 

以上是关于使用Cygwin在WIN系统下处理文本常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux/Unix/Cygwin 常用命令

如何在windows bat脚本中调用Cygwin并执行命令

我的cygwin怎么用不了?

win10下安装Cygwin配置gcc编译环境

常用工具——1.Editor

Linux下常用文本处理命令大全