当前位置:首页 > 日记 > 正文

在Linux下使用shell文本处理工具包

在Linux下使用shell文本处理工具包
评论:Linux的操作习惯不同于Windows,它可以通过windows操作。它由许多不同的命令组成。
在Linux的操作习惯与Windows有一个窗口进行操作,它是一个很大的不同,本文将介绍最常用的文字处理工具,使用Linux下的shell:发现,grep,xargs,排序,uniq,TR,剪切,粘贴,WC,sed,awk;
所提供的示例和参数是最常用和最实用的。
我使用shell脚本的原则是命令一行文字,尽量不要超过2行。如果您有更复杂的任务要求,请考虑python。

查找文件查找

查找txt和PDF文件
找到。(名称)txt

定期查找txt和PDF
找到。-正则表达式,( .txt | .pdf )___fckpd___1quot;

- iregex:忽视案件的典型规律

负参数
查找所有非TXT文本
找到。!-名称*-打印

指定搜索深度
打印当前目录的文件(深度1)
找到。-maxdepth 1 F型

自定义搜索

按类型搜索:
找到。类型D打印只列出所有目录

类型F文件符号链接

按时间搜索:
-时间访问时间(单位为天,分单元-阿明,以下是类似的)
影评:修改时间(内容修改)
- ctime改变时间(元数据或权限的变化)
过去7天中所访问的所有文件:
找到。- 7 - F型打印时间

按大小搜索:
K M G
寻找大于2K的文件
找到。型F尺寸+ 2K

经许可查阅:
找到。-类型-烫发- 644 -打印/查找所有可执行文件权限

由用户查找:
找到。-类型F -用户韦伯打印查找用户Weber拥有的文件

发现后随访

删除:
Delete all SWP files in the current directory:
找到。- F型名称*。SWP-删除

执行动作(强力执行)
查找类型F用户根-执行。Chown Weber {} ; / /当前目录更改到Weber的所有权

注意:{ }对于每个匹配的文档都是一个特殊的字符串,{将用相应的文件名替换;
Eg:你找到的所有文件都复制到另一个目录:
找到。型F时间+ 10名*. txt-exec CP老{} ;

组合多个命令
提示:如果需要跟踪多个命令,可以将多个命令写入脚本;
-exec。 / commands.sh {} ;

打印分隔符

使用默认值文件作为分隔符;
- print0使用 0'as文件分隔符,所以你可以搜索文件包含空格;

grep搜索文本

grep match_patten文件 / /默认接入线

常见的参数
o只输出匹配的文本行VS,以输出不匹配的文本行。
C统计文件中包含的文本数
grep -C文本文件名

n打印匹配的行号
-我搜索忽略案例和案例
l只打印文件名

多级目录中文本的递归搜索(最喜欢程序员的代码搜索):
grep类。- R - N

多模式匹配
grep -E类-虚拟文件

grep输出的文件名0在文件的结尾:(Z)
grep测试文件* LZ | xargs - 0室

xargs命令行参数转换

xargs可以将数据输入到一个特定的命令行参数;这样,它可以用在许多命令的组合。例如,grep,如发现;

多路输出转换为单一线路输出
txt文件| xargs猫。
是多行文本分隔符。

转换一个单一的线多线输出
猫single.txt xargs -n 3 |
N:指定每行显示的字段数

xargs参数描述

- d定义分隔符(用于更多空间的默认分隔符))
n指定多行输出。
我{ }替换指定的字符串,字符串将在xargs命令的扩展更换,需要多个参数
如:
猫file.txt xargs -我 / command.sh P | { } { } 1

- 0:指定 0输入定界符
Eg:统计程序行
找到source_dir / F型名称*。CPP print0 | xargs 0 WC L

排序排序

字段描述:
n排序与三维数字按字典顺序
r的逆阶
- k指定列n的秩。
如:
排序1 data.txtsort NRK BD数据 / /忽略前导空格或其他字符

uniq消除重复

消除重复
unsort.txt uniq |排序

文件中统计数据出现的次数。
unsort.txt uniq -c |排序

找到重复的线
排序unsort.txt uniq -d |
您可以指定一个需要在每一行进行比较的重复内容:s开始位置W比较字符数

转换与TR

一般使用
回声12345 TR '0-9'9876543210 ' / / |加密转换,猫文本| TR t'to更换相应的字符 / /转表空间

TR删除字符
猫D的|文件TR '0-9 / /删除所有数字

C-补集
猫的| TR C文件'0-9 / /获取文件的所有数字cat-file TR - D - C '0-9 | / /删除非数字数据

TR的压缩特性
压缩文本中的重复字符;最常用于压缩冗余空间。
猫的| TR -文件

字符类
在TR中可以使用多种字符类:
Alnum:字母和数字
甲:信
数字:数字
空格:空白字符
下:小写
上:大写
控制:控制(非打印字符)
打印:可打印字符
使用方法::类:}:类:}
Eg:低:}:上:}

按列剪切文本

截取文件的第二列和第四列是:
切f2,4文件名

第三列中的所有列都从文件中删除:
剪切F3 -补充文件名

- d指定定界符:


截割范围
n到最后的n个字段
m的第一个域是m
·m n m领域

被砍的单位
以字节为单位
C是单位中的一个字符。
F在现场单元(使用文本)

如:
切割文件 / / C 1-5减少打印头5个字符的文件 / /打印C-2的前2个字符

按列粘贴文本粘贴

在列中拼接两个文本;
猫file112cat file2colinbookpaste file1 file21 colin2书

默认分隔符是一个选项卡,可以使用d指定分隔符。
粘贴file1 file2 - D
1、柯林
2、本书

统计线和字符工具

文件编号
统计文件的数量
统计文件的字符数

文本替换工具

首先更换
赛格的 / / / replace_text文本文件 / /替换每一行的第一个匹配的文本

全局替换
赛格的 / / / g'file replace_text文本

在默认替换后,输出替换内容,如果您需要直接替换原始文件,使用i:
赛格-我的 / / / g'file repalce_text文本

删除空白行:
SED的 / / d'file ^美元

变量的转换
匹配的字符串被标记引用。
回声这是恩例赛格的 / / W + {} / G '___fckpd___37gt { } { } { } {案例} |恩;

子串匹配的标记
使用标记 1引用第一个匹配的括号内容。
SED的 /你好({ 0-9 } ) / 1

双引号的评价
SED通常用单引号引用,也可以使用双引号,双引号用于在使用双引号后对表达式进行计算:
SED的 / / / hlloe VaR美元

当使用双引号时,我们可以在SED样式和替换字符串中指定变量。
Eg:P =结构= replacedecho线控制模式| SEDS / P / R / G美元___fckpd___40gt;线Con A取代

其他的例子
字符串插入字符:将文本的每一行(佩克沙河)文本中的北京 /沙
SED的 / ^。
3
} { / / / g'file

awk的流数据处理工具

awk脚本结构
awk开始{语句} { }的陈述语句2端

操作模式
1。开始执行语句块;
2。读取一个文件或标准输入的一行,然后执行语句2,重复这个过程,直到所有的文件被读取;
三.执行结束语句块;

打印当前行

当使用无参数打印时,当前行将被打印;
回声E线2| awk'begin {打印开始} } { {结束打印打印}结束

当打印用逗号分隔时,参数由空格来限定。
回声|的awk { var1 =V1;VAR2 =V2;var3 = V3;打印var1,var2,var3;} '___fckpd___43gt;V1、V2、V3

使用拼接()作为拼接的方式;
回声|的awk { var1 =V1;VAR2 =V2;var3 = V3 ;打印var1 var2 var3;} '___fckpd___44gt;v1-v2-v3

特殊变量:NR NF 0美元1美元2美元

NR:表示记录的数量,并与执行期间的当前行数相对应。
NF:表示在执行过程中应该包含的字段数和字段数;
$ 0:这个变量包含执行过程中当前行的文本内容;
第一字段的文本内容为1美元:;
第二个字段的文本内容为2美元:;
回声E1 F2 F3 2 线awk {打印NR 3| 0元,1元2美元}

为每行打印第二个和第三个字段:
awk {打印2美元、3美元}文件

统计文件的数量:
awk端{打印NR }的文件

累积每一行的第一个字段:
回声e 12 3 4 | awk'begin { num = 0;打印= 开始;} {金额1美元;端{打印;}= =和打印}

转移的外部变量
var = 1000echo awk {打印内翻} 'vara =美元| stdinawk{ # VaR打印内翻}的内翻= $ var文件输入从输入文件#

过滤的awk样式加工线

awk'nr<5的#线数小于5
awk'nr = = 1,NR = = 4 } {打印文件#行数等于打印出1和4
awk / Linux / 'linux #包含多行文本(可以使用正则表达式来指定,超强)
awk / Linux /!#不包含文本的Linux系

设置分隔符

使用f设置分隔符(默认空格)
awk -F:{ }print $ NF / /密码等

读命令的输出

使用的时候,外壳的命令的输出读入变量cmdout;
回声awk |{grep根/等/口令getline cmdout打印cmdout }的|;

在awk中使用环

对于(i = 0;i < 10;i +);打印$ i;}
对于(i在数组中){打印数组{ };}

如:
以相反的顺序打印行:(TAC命令的实现)
序列9 | awk { { } LNO = NR NR后进先出法}(= 0美元;结束{;LNO > 1;LNO——{打印} } } {后进先出法;')

awk工具头、尾的命令

Head:
awk'nr <= 10 { } 'filename打印

尾:
awk { { 10 } =缓冲橡胶0美元;} {(i = 0为结束;我<11;i++){ 打印缓冲区{ 10 } } }我的文件名

打印指定的列

awk模式的实现:
ls -lrt awk {打印6美元的| }

切割模式的实现
LS—轻轨割F6 |

打印指定的文本区域。

确定行号
Seq 100 | awk'nr = = 4,NR = = 6 } {打印

确定文本
打印start_pattern和end_pattern之间的文本;
awk / / / start_pattern,end_pattern / 'filename
如:
SEQ 100文件 / 13 / / / /等15里/ passwd | |,awk /麦。*邮件 / / / *新闻消息。

awk常用内置函数

指数(字符串,search_string):返回字符串中的位置search_string
子(正则表达式,replacement_str,字符串):取代常规赛第一的内容replacement_str;
匹配(正则表达式、字符串):检查一个正则表达式可以匹配一个字符串;
长度(字符串):返回字符串长度
回声awk |{grep根/等/ passwd| getline cmdout;打印长度(cmdout)}

printf函数类似于C语言中的printf格式化输出
如:
10 | SEQ文件{ printf-> % 4s 1美元}

迭代文件中的行、字和字符

1行中的每一行。迭代文件

而循环的方法
而读线;doecho $线;做<< file.txt成壳:猫子file.txt |(读取行;做echo $线;完成)

awk方法:
猫文件.txt | awk { }打印

2。在一行中迭代每个单词
对于单词$行;做回声$字;完成

三.每个字符的迭代

$ {字符串:start_pos:num_of_chars }:从字符串中提取字符;(bash文字片)
$ { #字}:返回可变字长
为(((i = 0;} {我<美元#字;i++)){字:我doecho美元:1);完成

相关文章

尾递归使用的详细说明

尾递归使用的详细说明

尾递归,详细说明,电脑软件,最近几天,我看到了几篇关于尾递归的文章,以前没有关于尾递归的大概念,所以我回顾了尾递归。 尾递归概念 尾递归的概念(尾递归)是递归的一个子概念。普通递归的调用堆栈的使用是不可估量的因为需要记住的递归调用堆栈。…

winservs.exe的过程是怎样的

winservs.exe的过程是怎样的

的是,过程,是怎样,电脑软件,winservs,评论:对winservs.exe工艺简介 进程文件:winservs或winservs.exe 进程名称:winservs 过程类别:安全风险的过程 英文描述: winservs.exe是软件声称可以扫描您的硬盘驱动器执行成人内容。它被分为广告软件在…

一种linux下对发射器的固定方法

一种linux下对发射器的固定方法

方法,发射器,电脑软件,linux,点评:linux下的一些绿色软件,没有安装可以双击启动,但有些程序直接在启动器锁中打开,选择按钮会用到一些默认的图标,通常如果符合大众审美的趋势的话,不应该认为它很漂亮。 Linux的一些绿色软件,无需安装可以双击启动,…

如何用excel作为条形码自动更新条

如何用excel作为条形码自动更新条

条码,解决方案,自动更新,条形码,如何用,问题: 领导者用excel制作产品条形码,当产品号被修改时,条码可以自动更新。如何解决这个问题 答案uff1a 是的,首先,请参阅下面的方法,在Excel中选择条形码控件,然后在设置数据源时将条形码与商品编号联系起…

在Linux使用SED命令替换字符串小结

在Linux使用SED命令替换字符串小结

替换字符串,命令,电脑软件,Linux,SED,注释:本文主要介绍了在Linux中使用SED命令替换Notes字符串。这纯粹是个人总结,需要的朋友可以参考一下。 最近,一些小脚本已被写入到SED命令,并已学会,顺便说一下。 SED替换的基本语法是: 将代码复制如下:原…

Copyfilepromptsinwin7foldernamei

Copyfilepromptsinwin7foldernamei

电脑软件,Copyfilepromptsinwin7foldernameistoolongreason,问题: 在单位,同事将文件复制到我的电脑,系统总是提示该文件夹的名称太长我的电脑复制文件到自己的电脑很好。我们俩的电脑也买了同样的品牌,同样的模式,和相同的系统,所有存在的原因…

打开或关闭Win7的防火墙的方法(方案

打开或关闭Win7的防火墙的方法(方案

防火墙,方案,方法,电脑软件,windows7系统(简称Win7)打开或关闭防火方法: 首先,打开在系统中;控制面板,然后点击系统与安全打开新窗口,你可以看到Windows Firewall (如下图所示)。点击打开Windows防火墙接口。 你可以看到在新窗口的左侧;打开或关闭…

PHPCodeIgniter的学习笔记

PHPCodeIgniter的学习笔记

学习笔记,电脑软件,PHPCodeIgniter,在使用数据库,我们最好将数据库自动:自动加载配置 / autoload.php $autoload { 'libraries} =阵列('database); 一些常见的功能 选择数据 $ > > db - >选择(); 允许您在SQL查询中写入select的一部分。 在这里(>…

如何隐藏Word2003的最近使用的文档

如何隐藏Word2003的最近使用的文档

文档,最近使用,电脑软件,作为一个上班族,公司秘密的保护是最重要的。有时为了防止病毒和黑客的入侵,公司机密被盗。有时它是为了防止一些人,窥视秘密,等等,我们可以采取很多保护Word文档的内容被泄露的措施。 打开word文件按钮,您会发现您最近使…

该winde.exe-焊接过程是什么意思

该winde.exe-焊接过程是什么意思

过程,电脑软件,winde,exe,评论:winde.exe -焊接工艺 进程文件:上海或winde.exe 进程名称:dluca病毒 过程类别:安全风险的过程 英文描述: winde.exe添加到系统,作为一个结果的dluca病毒。它从您的计算机计算机发送详细信息到指定的在线位置。这…

Word2003画箭头,双箭头、斜线箭头的

Word2003画箭头,双箭头、斜线箭头的

箭头,双箭,电脑软件,虽然词不是绘图软件,和制图的工具不是很强,但当我们把文件的定期,我们可以用它画一些简单的图形,如正方形,画圆,画直线,画箭头等等。这个时间向你解释,如何使用Word2003绘制各种箭头。 Word2003绘制直线和斜线箭头 这是最简单的…

打开浏览器0x00000050igdpmd64.sys

打开浏览器0x00000050igdpmd64.sys

蓝屏,溶液,打开浏览器,电脑软件,sys,当你使用笔记本更新系统文件或点击,打开IE浏览器,电脑出现蓝屏,蓝屏代码和0x00000050和igdpmd64.sys等信息。(如下图),这个问题可能是安装系统补丁相关kb2670838。 请参考以下四种方法来解决,最后一种方法只适…