Linux正则表达式&文件分割合并&软连接

2021.09.27
1.在/etc 目录下,寻找以p开头,以wd结尾的文件。( $ find /etc -name p*wd )
在/etc 目录下,寻找以p开头,中间有2个字符,3个英文字母,以e或者E结尾的文件 ($ find /etc -name p??[a-z][a-z][a-z][eE])

在这里插入图片描述
2.创建./work 目录,(mkdir),将文件 /etc/passwd 拷贝到该./work目录中 (cp),将其改名为passwd_dy (mv), 然后将这个./work目录拷贝的 ./work1 中 (cp -r),显示这个文件passwd_dy的内容 (cat, more),再显示该文件的前10行和后10行(head , tail ).
在这里插入图片描述
more查看:
在这里插入图片描述
head,tail查看:
在这里插入图片描述
把该文件分成每个为10行的文件 (split -l), 再合并成为一个名字叫做 passwd_dy_comb 的一个文件,比较一下 passwd_dy 和passwd_dy_comb 是否一样 (diff) 。然后删除这个./work1 目录 (rm -r)
在这里插入图片描述
diff输出为空,说明两个文件一样,然后删除work1目录。
在这里插入图片描述
3.在屏幕上输出本机的所有文件,并把屏幕输出内容保留到文件filelist 中去。($ ls -R / >filelist), 再开一个字符终端,监视filelist的增量输出 ($ tail -f ./filelist)
用 du -sh 看看这个 ./filelist 文件有多大 ? 把这个./filelist 用 split -b 劈开,每个文件大小为1k, 再用cat把这些文件合并为filelist_cmb,然后检查一下 ./filelist 和 filelist_cmb 是否一样 ($ diff ./filelist ./filelist_cmb )

在这里插入图片描述
在这里插入图片描述
du -sh查看文件大小,为1.5M,划分为每个文件1k,则有1000多个文件:
在这里插入图片描述
合并和比对:
因为分割出的文件太多,因而将其移动到新开的文件夹work1,然后cat合并后进行对比diff:
在这里插入图片描述
4.找几个文本文件,学习一下横串 join , paste, 竖串cat
用vi任意写两个文本1.txt, 2.txt:
在这里插入图片描述
在这里插入图片描述
join命令用于将两个文件中,指定栏位内容相同的行连接起来。当两个文件无相同内容栏时,合并结果为空。
在这里插入图片描述
在这里插入图片描述
因此重写文件3.txt,4.txt,进行合并。
在这里插入图片描述
在这里插入图片描述
join合并后,可以知道,join只合并左边匹配的行,若无匹配行,则生成内容为空的文件:
在这里插入图片描述
paste,把每个文件以列对列的方式,一列列地加以合并。:
在这里插入图片描述
cat,用于纵向连接文件。
在这里插入图片描述
5.把/home/zhangsan/work1 目录,软连接到自己的根目录下;(ln -s)
把/home/zhangsan/work2 目录软链接到自己根目录的 ./work2_z3 上
把/home/zhangsan/work1/file1 , 软连接到自己的根目录下;
再分别删除这些软链接(rm)

软连接:
在这里插入图片描述
删除:
在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux正则表达式是一种用来匹配文本内容的表达式,它可以方便地在Linux系统中进行文本处理和搜索。下面是一份Linux正则表达式大全,包括常用的正则表达式语法和示例: 1. 字符匹配 正则表达式语法:字符 示例: * 匹配单个字符: ``` a 匹配'a'字符 ``` * 匹配多个字符: ``` [abc] 匹配'a'、'b'或'c'字符 [^abc] 匹配除'a'、'b'、'c'以外的任意字符 [a-z] 匹配小写字母a到z中的任意一个字符 [A-Z] 匹配大写字母A到Z中的任意一个字符 [0-9] 匹配数字0到9中的任意一个字符 ``` 2. 重复匹配 正则表达式语法:字符+、字符*、字符? 示例: * 匹配多个字符: ``` a+ 匹配一个或多个'a'字符 a* 匹配零个或多个'a'字符 a? 匹配零个或一个'a'字符 ``` 3. 边界匹配 正则表达式语法:^、$ 示例: * 匹配行首和行尾: ``` ^a 匹配以'a'字符开头的行 a$ 匹配以'a'字符结尾的行 ``` 4. 逻辑匹配 正则表达式语法:字符1|字符2 示例: * 匹配两种字符中的任意一种: ``` a|b 匹配'a'或'b'字符 ``` 5. 分组匹配 正则表达式语法:(字符) 示例: * 匹配分组中的字符: ``` (a) 匹配'a'字符 ``` 6. 转义字符 正则表达式语法:\字符 示例: * 匹配特殊字符: ``` \. 匹配'.'字符 \* 匹配'*'字符 \+ 匹配'+'字符 \? 匹配'?'字符 \( 匹配'('字符 \) 匹配')'字符 ``` 以上是Linux正则表达式的常用语法和示例,可以根据实际需求进行学习和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值