首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BASH -如果第一列内容出现在另一个文件中,则删除行

BASH是一种Unix shell和命令语言,它是Linux和macOS等操作系统中常用的命令行解释器。它提供了一种交互式的方式来与操作系统进行通信,并且可以编写脚本来自动化任务。

在BASH中,如果要删除包含特定内容的行,可以使用以下命令:

代码语言:txt
复制
sed -i '/pattern/d' filename

其中,pattern是要匹配的内容,filename是要操作的文件名。

这个命令使用了sed工具,它是一个流编辑器,用于对文本进行处理。-i选项表示直接在原始文件中进行修改,而不是输出到标准输出。

举个例子,如果我们有一个文件example.txt,内容如下:

代码语言:txt
复制
apple
banana
orange

如果我们想删除包含"banana"的行,可以运行以下命令:

代码语言:txt
复制
sed -i '/banana/d' example.txt

运行后,example.txt的内容将变为:

代码语言:txt
复制
apple
orange

推荐的腾讯云相关产品:腾讯云服务器(CVM),产品介绍链接地址:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux系统开发: 学习linux三剑客(awk、sed、grep)(上)

-l 列出文件内容符合指定的范本样式的文件名称。 -L 列出文件内容不符合指定的范本样式的文件名称。 -n 在显示符合范本样式的那一,标示出该的编号。 -q 不显示任何信息。...-v 反转查找,显示不符合模式的所有信息 -w 只显示全字符合的。 -x 只显示全符合的。 -y 此参数效果跟“-i”相同。 -o 只输出文件匹配到的部分。...c\ 把选定的改为新的文本。 d 删除删除选择的。 D 删除模板块的第一。 s 替换指定字符,字符间可用/或@或#隔开 h 拷贝模板块的内容到内存的缓冲区。...前面可加数字,指定打印第几行 P(大写) 打印模板块的第一。 q 退出Sed。 b lable 分支到脚本带有标记的地方,如果分支不存在分支到脚本的末尾。 r file 从file。.../前没有地址定界则可以不加{},如果必须加上 $ sed -n '1,10 {/sh$/p}' 123.txt #显示123.txt内第1到第10以结尾的 显示查找内容的所有

9.2K21

shell学习教程(超详细完整)

ctrl+U 删除或剪切光标之前的命令。我输入了一很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键会更加方便 ctrl+K 删除或剪切光标之后的内容。...,用grep取反包含“Name”的 #判断第六字段(平均成绩)大于等于87分的如果判断式成立,打第六(学员名$2) 加入了条件之后,只有条件成立动作才会执行,如果条件不满足,动作则不运行。...2)如果没有BEGIN条件,读入第一,把第一的数据依次赋予0、1、2等变量。其中0代表此行的整体数据,1代表第一字段,2代表第二字段。 3)依据条件类型判断动作是否执行。...3、打印完第一,然后打印第二 : awk '{print $1 $2}' filename 4、打印文本文件的总行数 : awk 'END{print NR}' filename 5、打印文本第一...获取第一第一,第二,第三 ps -aux | grep watchdog | awk 'NR==1{print $1, $2, $3}' 4.

5.7K20

Linux目录操作

如果目录序列从工作目录开始,称之为相对路径名(relative pathname)。...rm -r foo/bar # 删除foo下的bar目录,而不检查是否为空 ls 基本操作 ls用来显示目录内容。 将目录名作为参数,可以打印出目录内容。...之后的三为目录文件,每个文件,以其中一为例,说明每的意义: drwxrwxr-x 2 tom tom 4096 May 29 2017 bin 其中(从左至右): d:指示符,表示这是一个目录...2:如果是目录,表示目录第一级子目录的个数;如果是普通文件表示其连接数。 tom:所有者。 tom:所属组。 4096:占用空间,以字节为单位。 May 29 2017:最后修改时间。.../bin 48 . du默认使用KB为单位,上面的例子第一文件大小,第二文件名。 使用-a选项可以查看全部文件: $ du -a 0 .

5.7K71

Shell脚本编程_shell脚本编程100例pdf

elif使 用另一个if-then语句延续else部分。 elif语句提供了另一个要测试的命令,这类似于原始的if语句。...如果elif后命令的退出状态码是0,bash会执行第二个then语句部分的命令。使用这种嵌套方法,代码更清晰,逻辑更易懂。 elif语句返回的是非零值的退出状态。...记住, bash shell会依次执行if语句,只有第一个返回退出状态码0的语句中的then部分会被执行。 可以使用test命令确定变量是否有内容。这只需要一个简单的条件表达式。...比较测试,大写字母被认为是小于小写字母的。sory命令相反,使用的是系统的本地化语言设置定义的排序顺序。小写字母出现在大写字母前。...除了test命令使用的标准数学运算符, 表12-4出了双括号命令中会用到的其他运算符。 可以在if语句中用双括号命令,也可以在脚本的普通命令里使用来赋值。

2.1K30

sh脚本

上面四种语法如果用在脚本,变量名的部分可以用到数字1到9,表示脚本的参数。 filename=${1:?"filename missing."} 上面代码出现在脚本,1表示脚本的第一个参数。...Bash 脚本入门 Shebang 脚本的第一通常是指定解释器,即这个脚本必须通过什么解释器执行。这一以#!字符开头,这个字符称为 Shebang,所以这一就叫做 Shebang 。 #!...[ string1 '>' string2 ]:如果按照字典顺序string1排在string2之后,判断为真。...[ string1 '<' string2 ]:如果按照字典顺序string1排在string2之前,判断为真。 注意,test命令内部的>和<,必须用引号引起来(或者是用反斜杠转义)。...) contains $(echo -n $i | wc -c) characters" done 上面例子,cat ~/.bash_profile命令会输出~/.bash_profile文件内容

10.7K30

sed、awk——运维必须掌握的两个工具

接着处理下一,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。利用sed命令可以将数据行进行替换、删除、新增、选取等特定工作。 ?...动作说明: [n1[,n2]] function n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 之间进行的,『 10,20[动作行为]...删除第1,第10,留意行号变化 ? 将passwd文件包含/sbin/nologin替换为/bin/bash并打印输出 ?...删除passwd文件的第三至末尾行 ? l Awk 1.强大的地方 擅长对数据进行处理,就是把数据逐行的读入,以空格为默认分隔符再将每行切断,对切断的部分再进行分析处理。 ?...想想日常工作如何要获取文件第几行第几列的数据应该如何操作,如打印passwd文件第一与最后一第一的数据,sed跟awk结合使用啦。 ?

66960

linux学习第二十六篇:正则介绍,grep,sed,awk命令

:后跟一个数字,例如 –B2 表示打印符合要求的以及上面两 -C :后跟一个数字,例如 –C2 表示打印符合要求的以及上下各两 PS:在正则表达式, “^” 表示的开始, “$” 表示的结尾...:/sbin/nologin PS:‘s’ 就是替换的命令, ‘g’ 为本行全局替换,如果不加 ‘g’ 只换该行中出现的第一个。...删除test.txt包含 ‘bash’ 的 ? 6. 替换test.txt ‘root’ 为 ‘toor’ ? 7....… 不匹配括号内出现的任意一个字符 一般出现在要shell命令或脚本,匹配特定的文件名 正则表达式 它是一个字符匹配标准,一些命令工具按此标准实现字符匹配,根据命令支持的匹配功能可分为基础正则表达式和扩展正则表达式...awk 合并一个文件 如把两个文件第一相同的合并到同一。 解释:NR表示读取的行数,FNR表示读取的当前行数。

3.9K60

7.管道、管道、环境变量与其他常用命令

当某个可执行文件同时出现在多个路径时,会选择从左到右数第一个路径的执行。下列所有存储路径的环境变量,均采用从左到右的优先顺序。...读入若干行数据,如果某行包含xxx,输出该行;否则忽略该行。...-name '*.py' | xargs cat | wc -l:统计当前目录下所有python文件的总行数 查看文件内容: more:浏览文件内容 回车:下一 空格:下一页 b:上一页 q:退出...less:与more类似,功能更全 回车:下一 y:上一 Page Down:下一页 Page Up:上一页 q:退出 head -3 xxx:展示xxx的前3内容 同时支持从 stdin读入内容...内容存放在 ~/.bash_history 工具: md5sum:计算md5哈希值 可以从 stdin 读入内容 也可以在命令行参数传入文件名列表; time command:统计 command

63130

Linux命令(3)——sed命令

处理时,把当前处理的存储在临时缓冲区,称为“模式空间”(Pattern Space),接着用sed命令处理缓冲区内容,处理完成后,把缓冲区的内容送往屏幕,接着处理下一,直到文件末尾。...sed的一般用法,所有来自STDIN的数据一般都会被打印到终端上,如果加上-n后,只有经过sed特殊处理的那一才会被列出来。.../blueshell 如果只替换/etc/passwd的第一bash关键字为blueshell,就退出 nl /etc/passwd | sed -n '/bash/{s/bash/blueshell...:x:1:1:daemon:/usr/sbin:/bin/sh -e表示多点编辑,第一个编辑命令删除/etc/passwd第三到末尾的数据,第二条命令搜索bash替换为blueshell。...sed 的-i选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万文件,你要在第 100 加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?

1.7K20

Linux命令(3)——sed命令

处理时,把当前处理的存储在临时缓冲区,称为“模式空间”(pattern space),接着用sed命令处理缓冲区内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一,直到文件末尾。...sed的一般用法,所有来自STDIN 的数据一般都会被打印到终端上,如果加上-n后,只有经过sed特殊处理的那一(或者动作)才会被列出来。.../blueshell 如果只替换/etc/passwd的第一bash关键字为blueshell,就退出 nl /etc/passwd | sed -n '/bash/{s/bash/blueshell...:x:1:1:daemon:/usr/sbin:/bin/sh -e表示多点编辑,第一个编辑命令删除/etc/passwd第三到末尾的数据,第二条命令搜索bash替换为blueshell。...sed 的-i选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万文件,你要在第 100 加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?

3.2K20

Linuxsed工具的使用

r file 从file w file 写入file文件 i 修改原文件内容 的打印显示 01 默认显示文件所有的内容 sed '/root/ROOT/p' /etc/passwd...5-10内容 sed -n '5,10p' /etc/passwd 以字符为单位的替换 02 将文件的root替换为ROOT,只替换每行的第一个 sed 's/root/ROOT...,这里把bash替换为nologin 这里会找到所有含有root的,然后将第一个root换成ROOT sed-n '/root/{s/bash/ROOT/p}' /etc/passwd 如果要将所有的.../ 作为定界符,也可以使用任意的定界符,如: sed 's:root:ROOT:g' sed 's|root|ROOT|g' 当定界符出现在样式内部时,需要对其进行转义: 删除操作:d 06 删除空白...从文件读入:r 命令 08 file里的内容被读进来,显示在与test匹配的后面,如果匹配多行,file的内容将显示在所有匹配的下面: sed '/test/r file' filename 写入文件

2.2K10

linux实战(一)

grep 作用 grep命令可以指定文件搜索特定的内容,并将含有这些内容标准输出。...最多可以定义9个标签,从左边开始编号,最左边的是第一个。此例,对第1到第20进行处理,you被保存为标签1,如果发现youself,替换为your。  ...如果没有指定地址,sed将处理输入文件的所有。  地址是一个数字,表示行号;是“$"符号,表示最后一。...如例子所示,第一条命令删除1至5,第二条命令用check替换test。命令的执行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。...从文件读入r命令 $ sed '/test/r file' example file里的内容被读进来,显示在与test匹配的后面,如果匹配多行,file的内容将显示在所有匹配的下面。

2.2K10

linux sed命令详解

处理时,把当前处理的存储在临时缓冲区,称为“模式空间”(pattern space),接着用sed命令处理缓冲区内容,处理完成后,把缓冲区的内容送往屏幕。...在一般 sed 的用法,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,只有经过sed 特殊处理的那一(或者动作)才会被列出来。...每一之间都必须要以反斜杠『 \ 』来进行新的添加喔!所以,上面的例子,我们可以发现在第一的最后面就有 \ 存在。...:/bin/sh ....下面忽略 #第一的匹配root已经删除了 数据的搜寻并执行命令 找到匹配模式eastern的后, 搜索/etc/passwd,找到root对应的,执行后面花括号的一组命令...sed 的『 -i 』选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万文件,你要在第 100 加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?

4.1K10

PostgreSQL 教程

左连接 从一个表中选择,这些行在其他表可能有也可能没有对应的。 自连接 通过将表与自身进行比较来将表与其自身连接。 完全外连接 使用完全连接查找一个表另一个没有匹配。...INTERSECT 组合两个或多个查询的结果集并返回一个结果集,该结果集的行都出现在两个结果集中。 EXCEPT 返回第一个查询出现在第二个查询的输出。 第 6 节....主题 描述 插入 指导您如何将单行插入表。 插入多行 向您展示如何在表插入多行。 更新 更新表的现有数据。 连接更新 根据另一个的值更新表的值。 删除 删除的数据。...连接删除 根据另一个的值删除。 UPSERT 如果已存在于表插入或更新数据。 第 10 节....COALESCE 返回第一个非空参数。您可以使用它将NULL替换为一个默认值。 NULLIF 如果第一个参数等于第二个参数返回NULL。

48910

Linux入门学习笔记二

sed和awk都是流式编辑器,是针对文档的来操作的 语法:sed 参数 文件 -e command,–expression=command 直接在指令模式上进行 sed 的动作编辑;。...但如果加上 -n 参数后,只有经过sed 特殊处理的那一(或者动作)才会被列出来 -f,–file=script-file 以选项中指定的script文件来处理输入的文本文件。...注意:‘s’ 就是替换的命令, ‘g’ 为本行全局替换,如果不加 ‘g’ 只换该行中出现的第一个。...' test.txt ##在文件ab中最后一直接输入"bye" 查询 sed -n '/关键字/p' test.txt 删除匹配 sed -i '/匹配字符串/d' filename (注:...print还可以打印自定义的内容,但是自定义的内容要用双引号括起来 匹配 # 以冒号分隔,让第一个字符段匹配有123awk -F ':' '$1 ~/123/' test.txt # 多次匹配awk

83710

《快学BigData》--Linux sed 详解(11)

Linux sed 详解 1-1)、参数详解 -n : 读取下一到模式空间,安静的模式 -N : 追加下一到模式空间 :a : 定义标签a ba:返回标签a ta :如果执行成功返回标签a Ta:...如果执行不成功返回a -e : 直接在命令模式上进行sed的动作操作 -f : 直接将sed的动作写在一个文件内 -i:直接修改读取文件内容,而不是输出到终端 p :列印,亦即将某个选择的数据印出...a :新增 c :取代 d :删除 i :插入 s :取代 1-2)、实例详解 准备数据 复制一份passwd数据到桌面 A)、复制数据的前一 $ nl passwd |sed '1p' 1root...:2:2:bin:/bin:/usr/sbin/nologin 4sys:x:3:3:sys:/dev:/usr/sbin/nologin ×××××××××××××××××××××××× C)、显示第一到第二.../sbin/nologin add print ..... 3bin:x:2:2:bin:/bin:/usr/sbin/nologin E)、删除地2到第五,病替换成相对应的字符 $ nl passwd

43310
领券