文件的行操作

简介: 1.1 第8题 输出test.txt文件内容时,不包含clsn字符串的命令 文件内容: [root@znix ~]# cat /data/test.txt test liyao clsn 1.1.1 方法一grep 使用grep命令,找什么就写什么 -v 参数是排除的意思 [root@znix ~]# grep -v "clsn" /data/test.txt test liyao 1.1.2 方法二head 使用head显示文件前2行信息(-2参数是显示两行),默认显示前10行。

1.1 8

输出test.txt文件内容时,不包含clsn字符串的命令

文件内容:

[root@znix ~]# cat /data/test.txt
test
liyao
clsn

1.1.1 方法一grep

使用grep命令,找什么就写什么

-v 参数是排除的意思

[root@znix ~]# grep -v "clsn" /data/test.txt
test
liyao

1.1.2 方法二head

使用head显示文件前2行信息(-2参数是显示两行),默认显示前10行。

[root@znix ~]# head -2 /data/test.txt
test
liyao

1.1.3 方法三 sed

sed命令使用单引号

sed命令主要用于删除

'/clsn/d' 表示删除clsn这个内容

[root@znix ~]# sed '/clsn/d' /data/test.txt
test
liyao

'3d'  表示删除第三行

[root@znix ~]# sed  '3d'  /data/test.txt
test
liyao

1.1.4 方法四 awk

使用awk查找文本里的clsn/并显示:

[root@znix ~]# awk '/clsn/' /data/test.txt
clsn

前面加!表示排除这个内容,不显示这个内容。

[root@znix ~]# awk '!/clsn/' /data/test.txt
test
liyao

1.2 9

用一条命令完成创建目录/clsn/test,即创建/clsn目录及/clsn/test

创建多级目录时需要添加参数 -p 表示创建多级目录。

[root@znix ~]# mkdir -p /clsn/test
[root@znix ~]# ls /clsn/
alex.txt  alex.txt.bak  clsn.txt  test  test.sh  t.sh
[root@znix ~]# ls -l  /clsn/test
total 0

1.3 10

已知/tmp下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让系统不提示是否覆盖(root权限下)。

1.3.1 方法一:

      \cp 取消别名

[root@znix data]# \cp /mnt/test.txt /tmp/

1.3.2 方法二:

使用命令的绝对路径

 [root@znix data]# /bin/cp /mnt/test.txt /tmp/

1.4 11

查看ett.txt文件(共100行)内第20到第30行的内容

1.4.1 创建该文件

使用seq命令创建一个100行的文件。

[root@znix ~]# seq 5
1
2
3
4
5
[root@znix ~]#seq 100 >ett.txt

1.4.2 方法一

使用head找出前30行,通过管道传给tial,再使用tail找出后11行,然后输出。

[root@znix ~]# head -30 ett.txt |tail -11
20
21
22
23
24
25
26
27
28
29
30

1.4.3 方法二

使用sed查找20-30行,p表示行数,-n表示取消默认输出。

[root@znix ~]# sed -n '20,30p'  ett.txt
20
21
22
23
24
25
26
27
28
29
30

1.4.4 方法三

      NR表示行,逗号表示2030,两个等于号才是真正的等于

[root@znix ~]# awk 'NR==20,NR==30' ett.txt

      &&表示和, => 20大于等于20 <=30 小于等于30

[root@znix ~]# awk 'NR>=20 && NR<=30' ett.txt
20
21
22
23
24
25
26
27
28
29
30

1.4.5 方法四

由于这个文件的第20行正好是20。使用grep找到20并输出,-A10 表示输出后面的10行。

[root@znix ~]# grep -A10 "20"  ett.txt
20
21
22
23
24
25
26
27
28
29
30

1.5 13

/clsn目录及其子目录下所有以扩展名.sh结尾的文件中,文件含.clsn的字符串全部替换为znix

1.5.1 创建环境

mkdir -p /clsn/test
cd /clsn
echo "clsn">test/del.sh
echo "clsn">test.sh
echo "clsn">t.sh
touch clsn.txt
touch alex.txt

1.5.2 方法一

sed生效需要增加 -i 参数。

使用find找在/clsn 目录下的 文件,名字是.sh 结尾的,使用管道xgras  传给sed,然后使用's#要被替换的内容#替换的内容#g' 文件进行修改。

[root@znix clsn]# find /clsn/ -type f -name "*.sh"|xargs sed 's#clsn#znix#g'  -i
znix
znix
znix

1.5.3 方法二

$( ) 先执行括号里面命令,再执行前面的命令

[root@znix clsn]# sed 's#clsn#znix#g' $(find /clsn/ -type f -name "*.sh")
znix
znix
znix

 

作者: 惨绿少年
出处: http://www.nmtui.com
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
目录
相关文章
|
5月前
|
存储 5G C语言
JavaFile实现对文件txt内容的增删该查操作
JavaFile实现对文件txt内容的增删该查操作
45 0
|
3月前
|
Linux
读取和删除
每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文
28 1
|
4月前
|
Linux
仅同步最近5分钟的文件如何操作
【6月更文挑战第28天】仅同步最近5分钟的文件如何操作
20 0
|
5月前
如何批量复制多个文件到多个目录中(批量复制文件,多对多文件高效操作的方法)
该文介绍了如何使用一个工具进行文件批量复制的操作。首先,提供了百度网盘和蓝奏云的链接,附有提取码,以获取所需工具。接着,展示了一个包含三个文件夹和两张图片的示例。操作步骤包括:打开工具,使用Ctrl+5进入批量复制模块,选择图片并拖拽至复制区域,然后选择目标文件夹(在这里是三个命名的空文件夹),点击“开始复制”,等待过程完成。工具提供复制选项供用户按需选择,且支持保存操作路径以备后续使用。完成后,目标文件夹将包含复制的图片,整个过程简便快捷。
|
11月前
|
存储 iOS开发 C++
C++文件 I/O操作
C++文件 I/O操作
50 0
|
Linux 编译器 C语言
关于文件的操作
关于文件的操作
|
C语言 C++
对文件的各种操作详解 1
对文件的各种操作详解
|
C语言
对文件的各种操作详解 3
对文件的各种操作详解
目录的操作
目录的操作
92 0