LINUX笔记 命令(3)

处理文本

grep

行首:^

行尾:$

. 代表任意一个字符(注意与通配符中的?区分)

主要是掌握正则表达式

Xargs

经常与管道配合使用。

echo --help| xargs echo  把前面的变成后面的选项

单独使用的时候可以把接受的数据一行输出。

xargs < num

不能直接跟文件名。需要重定向+文件名

echo 不支持对标准输入的数据输入

xargs -n 将标准输入的文本划分为多行,每行n个参数,默认使用空格分隔。

xargs -n 3 < num

-d 自定义分隔符。(与cut命令的-d相似)

默认分隔符是空格。

xargs -d:-n 2

xargs是一个非常实用的Unix/Linux命令行工具,它的主要功能是构建并执行命令行指令。具体来说,xargs从标准输入(stdin)读取数据,通常是文件名列表,然后将这些数据转换为命令行参数,用于执行另一个程序或命令。xargs特别适用于处理大量数据或文件名的情况,它能够有效地将这些数据分批传递给其他命令。

以下是xargs的一些关键特点和用途:

  1. 批量处理文件名xargs能够接收通过管道(pipe)传入的一系列文件名,然后将它们作为参数传递给其他命令。这对于处理大量文件尤其有用,比如在搜索到的文件上运行某个操作。

  2. 避免命令行长度限制:直接使用find命令的-exec选项在处理大量文件时可能会遇到命令行长度的限制。xargs则可以通过分批执行命令来绕过这个限制。

  3. 灵活的参数控制xargs提供了多种选项来控制如何处理输入数据,例如限制每批处理的文件数量、替换空格和制表符等。

  4. 与find命令结合使用xargs经常与find命令配合使用,find用于查找文件,而xargs用于对这些文件执行某种操作。例如,查找所有.txt文件并删除它们,或者查找所有.jpg文件并将它们压缩到一个归档文件中。

下面是一个使用xargsfind命令的示例:

find /path/to/search -name "*.txt" -print0 | xargs -0 rm

在这个示例中,find命令查找所有扩展名为.txt的文件,并使用-print0选项以null字符分隔输出文件名,以避免文件名中包含空格或换行符的问题。然后,xargs命令使用-0选项读取null字符分隔的文件名,并将它们传递给rm命令,从而安全地删除这些文件。

总之,xargs是一个强大的工具,用于将一组数据转换为命令行参数,并能有效地管理这些参数的传递,尤其是在处理大量数据时。

cut

处理字符和文件常用命令。

-b以字节分割

cut -b 6=5 cutfile 选取每行第五个字节。

cut -b -5,10,14- cutfile 选取从开头到第五个字节,第十字节和从14字节开始到结束的三个部分。

-c  相当于-nb,用于多字节字符。

cut -d: -f 3-5 /etc/passwd

cat /etc/passwd | xargs -d:

wc

对文件内容进行统计命令

-c字节 -m字符统计 -l行统计 -w按照词统计

wc num

行数 词数 字节数 文件名

通常和其他命令通过管道

ls -l | wc -l 多出一行

sort

行排序以及多多个文件排序,并且首位相接显示到屏幕上。

sort -r 文件名 逆序

原来是顺序的。

文本比较

cmp

逐个字符比较

cmp 文件1 文件2 判断文件是否完全相同,返回第一个不同的地方。

comm

排序之后的文件进行逐行比较。

独有1 独有2 都具有

行比较长,文件宽度会不够用 可以使用-1 -2 -3来选择输出的列

diff

对两个文件进行逐行比较。告诉我们如何从第一个文件变为第二个文件

a -add

c -change

s -delete

<第一个文件内容

>第二个文件内容

执行压缩获打包

gzip

打包(备份)

gzip 扩展名.gz  压缩文件

原来的文件消失(把原始文件删除)

gzip -r ../gp把原始文件删除,文件逐个压缩。

其实win是压缩打包一起的。

解压缩:

gzip -d 文件名(不用带扩展名)

gzip -dr ../gp

tar 

.tar

归档工具。源文件不会删除。

打开文件或者目录

tar -cvf file.tar filelist..

tar -cvf file.tar dirlist..

c:创建新文件 v:详细归档列表 f:归档文件或者归档设备

解包:

x:提取 

tar -xvf file.tar

tar -xvf dir.tar

查看包内容

tar -tf file.tar

先打包再压缩。

tar -zcvf file.tar.gz filelist.. 打包+压缩

tar -xzvf file.tar.gz解包+解压缩

tar -tf gp.tar.gz

命令组合

管道:大数据量通信,是一个文件

一个进程的输出成为另外一个进程的输入,单向工作,FIFO

awk

sed

grep

分号是把前后命令按照顺序执行,把多行命令写成一行

&& 执行不成功为止

|| 执行成功为止

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值