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

删除shell中以字符开头的行,但保留负值

在Shell中删除以特定字符开头的行,但保留负值,可以使用以下命令:

代码语言:shell
复制
grep -vE '^-' filename

这个命令使用grep工具来匹配并删除以特定字符开头的行。其中,-v选项表示反向匹配,即删除匹配到的行,-E选项表示使用扩展正则表达式进行匹配。'^-'表示以负号开头的行。

请注意,上述命令中的filename应替换为实际的文件名或文件路径。

这个命令适用于任何包含文本的文件,例如文本文件、配置文件等。它可以帮助您快速删除以特定字符开头的行,同时保留负值。

腾讯云相关产品和产品介绍链接地址:

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

相关·内容

Shell如何删除文本比较长实现方法

Shell如何删除文本比较长实现方法 有的时候需要对文件执行删除删除操作,这个时候比较常用会使用vi命令dd命令,比如先执行10G(跳转到第10),然后再执行20dd(删除20),实际情况未必是这么常规...,比如说,要删除文件,某行长度超过200个字符,如果文本比较小,还好,如果是几万,几十万行呢?...我然想到办法就是:比如说,通过sed,awk,egrep命令来达到目的。 举个简单例子。 假如说如下文本文件,要将其中长度为5字符以上删除掉。...使用awk,grep命令时候,可以将处理好文件重定向到另外一个新文件 2. egrep -w参数,表示仅跟模式匹配单词 3. ^....表示任意字符开头,这个和-w命令匹配使用,这个很关键,否则找不到 4. !w !

4.4K20

删除指定文件夹及其子文件夹所有文件,保留文件夹

excelperfect 标签:VBA 经常要整理电脑中文件,特别是每当要自查电脑文件时。每次都是将一个一个文件夹打开,将其中文件全部删除,但要保留文件夹,以便于后面再陆续存放新文件。...其实,这样工作使用VBA来很好解决。 下面的程序会删除指定文件夹所有文件,包括其子文件夹文件,但会保留文件夹,即保留文件夹框架,以便再往里面存放新文件。...Sub KillFiles(strPath As String, Optional blnRecursive As Boolean) ' 本过程返回目录所有文件到Dictionary对象....' 如果递归调用则同时返回子文件夹所有文件....具体操作为,在VBE,单击菜单“工具——引用”,在“引用”对话框,找到“Microsoft Scripting Runtime”并勾选其前面的复选框,如下图1所示。

24310

shell脚本打印所有匹配某些关键字符或前后各N

在日常运维,经常需要监控某个进程,并打印某个进程监控结果,通常需要打印匹配某个结果以及其前后各N。...2)打印/opt/test中所有匹配"main is failed"及其前1 [root@mq-master02 ~]# cat /opt/test |grep "main is failed"...3)打印/opt/test中所有匹配"main is failed"及其后1 [root@mq-master02 ~]# cat /opt/test |grep "main is failed"...192.168.10.17 5)把/opt/test中所有匹配"main is failed"及其前1结果打印到/root/result.log,并加上时间 [root@mq-master02...以上脚本:不管main进程状态检查结果是否正常,都打印一个结果到/mnt/main_check_result.log文件, 其实检查结果正常时候,可以不必打印结果(即echo "****" > /

2K10

Shell四剑客实操案例

Shell编程工具,四剑客工具使用更加广泛,Shell编程四剑客包括:find、sed、grep、awk,熟练掌握四剑客会对Shell编程能力极大提升。...“*.txt” #查找/data/目录.txt结尾文件;find /data/ -name “[A-Z]*” #查找/data/目录大写字母开头文件;find /data/ -name “test...如果用户希望在某个条件下脚本某个命令被执行,或者希望模式空间得到保留以便下一次处理,都有可能使得sed在处理文件时候不按照正常流程来进行。这时可以使用SED高级语法来满足用户需求。...匹配除了换行符以外任意一个字符;.* 代表任意字符;^ 匹配首,即某个字符开头;$ 匹配行尾,即某个字符结尾;\(..\) 标记匹配字符;[] 匹配括号里任意指定字符只匹配一个字符;[^]...字符test开头,接5或者3;grep “^[^test]” jfedu.txt 显示输出行首不是test;grep “[Mm]ay” jfedu.txt 匹配M或m开头;grep “K

2.1K21

第92天:CSS3颜色和文本属性

6 /*letter-spacing: 2em;*//*设置字符间距,默认normal,可用像素、em,可设负值*/ 7 /*}*/ 8 p{ 9 /*word-spacing...: 2em;*//*类似letter-spacing,可设负值*/ 10 /*text-transform: lowercase;*//*none默认;capitalize每个单词大写字母开头...,类似pre标签;nowrap文本不会换行,文本会在同一上继续,直到遇到br标签为止;pre-wrap保留空白正常换行;pre-line合并空白正常换行*/ 13 /*direction: rtl...设置如何对齐最后一或紧挨强制换行符之前; 40 text-emphasis 向元素文本应用重点标记以及重点标记前景色; 41 hanging-punctuation 规定标点字符是否位于线框之外...; 42 punctuation-trim 规定是否对标点字符进行修剪; 43 tab-size 设定一个tab在页面显示长度; 44 text-wrap 规定文本换行规则。

80020

Linux 基础上

Bash是在类UNIX系统,是Bourne shell(sh)使用最成功其中一个shell改进版本。 当shell被交互使用时,它将显示一个字符串时,它从用户等待一个命令。...这就是所谓shell提示符。当一个普通用户启动一个shell,默认提示$字符结束。...//不管前面的命令执行成功还是失败都执行后面的命令 //文件名通配符 * //匹配任意长度任意字符 例如看1结尾文件 ls *1CX开头 ls CX* ?...表示查看三个字符CX开头文件 [] //匹配指定范围内任意单个字符 // ls CX[0-9] 表示查看三个字符CX开头文件且0-...string //执行命令历史中最近一个指定字符开头命令 !$ //引用前一个命令最后一个参数 esc .

71430

Linux—系统基础一

Bash是在类UNIX系统,是Bourne shell(sh)使用最成功其中一个shell改进版本。 当shell被交互使用时,它将显示一个字符串时,它从用户等待一个命令。...这就是所谓shell提示符。当一个普通用户启动一个shell,默认提示$字符结束。...string //执行命令历史中最近一个指定字符开头命令 !$ //引用前一个命令最后一个参数 esc,....,引用前一个命令最后一个参数 //tab键命令和路径补全 在命令行输入命令时,如果只记得命令开头几个字母,可使用tab键补全命令;如果有多个命令都是以某字母开头,按两次tab,可以列出所有该字母开头命令...-a //显示.开头隐藏文件 .

65220

linux常用命令

h或r开头 grep '^[hr]' /etc/passwd 不是以h和r开头 grep '^[^hr]' /etc/passwd 不是以h到r开头 grep '^[^h-r]' /etc/...shell,而账户与shell之间逗号分割,而且在所有添加列名name,shell,在最后一添加"blue,/bin/nosh"。...其中尤以截取字符串更加频繁,下面为大家介绍几种常用方式,截取字符串 1、#截取,删除左边字符串(包括制定分隔符),保留右边字符串 预先定义一个变量:WEBSITE='http://hadoop//centos...[root@hadoop ~]# echo ${WEBSITE##*//} 结果:centos/huangbo.html 3、%截取,删除右边字符串(包括制定分隔符),保留左边字符串 [root@hadoop...~]# echo ${WEBSITE%//*} 结果:http://hadoop 4、%%截取,删除右边字符串(包括指定分隔符),保留左边字符串,和上边一个%不同是,它一直找到最前,而不是像一个%

2.2K10

《Linux与unix Shell编程指南》 总结

/' # 在每一开头处插入5个空格(使全文向右移动5个字符位置) sed 's/^/ /' # 79个字符为宽度,将所有文本右对齐 sed -e :a -e 's/^.\{1,78\}$/.../,/Montana/d' # 删除文件相邻重复(模拟“uniq”) # 只保留重复第一,其他删除 sed '$!...∗\n\1$/\1/; t; D' # 删除文件开头10 sed '1,10d' # 删除文件最后一 sed '$d' # 删除文件最后两 sed 'N;$!P;$!...移除文件头信息,只保留uuencode编码部分。 # 文件必须特定顺序传给sed。下面第一种版本脚本可以直接在命令行下输入; # 第二种版本则可以放入一个带执行权限shell脚本。...移除文件头信息,只保留uuencode编码部分。 # 文件必须特定顺序传给sed。下面第一种版本脚本可以直接在命令行下输入; # 第二种版本则可以放入一个带执行权限shell脚本

5.5K30

Linux基础命令行使用技巧

$ sudo pacman -S figlet 2.执行某些字符打头命令,Shell 将以逆序方式搜索历史命令列表,一旦与给定开头字符匹配到,便予以执行该条命令; #方式1.例如利用 !...$:l echo savehist savehist PS: - 助记技巧,将 :u 想成 uppercase 开头字符 - 助记技巧,将 :l 想成 lowercase 开头字符 5.Shell...h 向左移动一个字符 l 往右移动一个字符 b 向左移动一个单词 w 往右移动一个单词 e 移到单词结尾 B、W、E 与 b、w、e 类似,按不同单词定义进行移动 0 移到首 ˆ 移到首,第一个字符为非空白字符...,Shell 并没有丢弃,而是将其保留在了删除缓冲器,我们可以通过执行u命令来恢复这些删除内容(可以多次使用) 替换文本:在删除该内容后再进入插入模式重新输入外,也可以使用 vi 编辑模式所提供文本替换命令...off interactive_comments on #在一个交互式shell.允许#开头词以及同一其他字符被忽略.缺省为打开 lastpipe off lithist

6K20

97 条 Linux 运维工程师常用命令总结

,默认开头10 -v 显示文件名 -c number 显示前number个字符,若number为负数,则显示除最后number个字符所有内容 -number/n (+)number 显示前...按「^」:移动到光标所在行"首"   按「w」:光标跳到下个字开头   按「e」:光标跳到下个字字尾   按「b」:光标回到上个字开头   按「#l」:光标移到该行第#个位置,如:5l,56l...4)删除文字   「x」:每按一次,删除光标所在位置"后面"一个字符。   「#x」:例如,「6x」表示删除光标所在位置"后面"6个字符。   ...「#dd」:从光标所在行开始删除# 5)复制   「yw」:将光标所在之处到字尾字符复制到缓冲区。   「#yw」:复制#个字到缓冲区   「yy」:复制光标所在行到缓冲区。   ...eg: find / -perm +7000 -exec ls -l {} \; ,额外指令-exec开头\;结尾{}代替前面找到内容 | xargs

3.5K61

【经典收藏】掌握这些命令,玩转Linux小黑框!!

,默认开头10 -v 显示文件名 -c number 显示前number个字符,若number为负数,则显示除最后number个字符所有内容 -number/n (+)number 显示前...按「^」:移动到光标所在行"首"   按「w」:光标跳到下个字开头   按「e」:光标跳到下个字字尾   按「b」:光标回到上个字开头   按「#l」:光标移到该行第#个位置,如:5l,56l...4)删除文字   「x」:每按一次,删除光标所在位置"后面"一个字符。   「#x」:例如,「6x」表示删除光标所在位置"后面"6个字符。   ...「#dd」:从光标所在行开始删除# 5)复制   「yw」:将光标所在之处到字尾字符复制到缓冲区。   「#yw」:复制#个字到缓冲区   「yy」:复制光标所在行到缓冲区。   ...eg: find / -perm +7000 -exec ls -l {} ; ,额外指令-exec开头;结尾{}代替前面找到内容 | xargs -i 默认前面输出用

1.1K30

收藏 | 97条 Linux 常用命令总结

,默认开头10 -v 显示文件名 -c number 显示前number个字符,若number为负数,则显示除最后number个字符所有内容 -number/n (+)number 显示前...按「^」:移动到光标所在行"首"   按「w」:光标跳到下个字开头   按「e」:光标跳到下个字字尾   按「b」:光标回到上个字开头   按「#l」:光标移到该行第#个位置,如:5l,56l...4)删除文字   「x」:每按一次,删除光标所在位置"后面"一个字符。   「#x」:例如,「6x」表示删除光标所在位置"后面"6个字符。   ...「#dd」:从光标所在行开始删除# 5)复制   「yw」:将光标所在之处到字尾字符复制到缓冲区。   「#yw」:复制#个字到缓冲区   「yy」:复制光标所在行到缓冲区。   ...eg: find / -perm +7000 -exec ls -l {} ; ,额外指令-exec开头;结尾{}代替前面找到内容 | xargs -i 默认前面输出用

1K20

Shell 开发经验总结()

三.易错类shell 这里介绍主要是日常shell编写遇到比较隐蔽或看似简单,却难以发现“坑”,编写应尽量避免使用,使用更优方法避免重蹈覆辙。...3)使用rm前确认 删除前备份删除对象信息,避免使用变量,直接使用文件和目录名; 如果必须使用时,删除前,建议检查避免误删,删除目录和文件信息保留: 建议禁用find遍历根目录进行查找,同时删除前进行确认...6)慎用cp 这句话基本上正确,同样有空格分词问题。所以应当用双引号: 但是如果凑巧文件名 - 开头,这个文件名会被 cp 当作命令行选项来处理。...但是,当$var - 开头时依然会有问题。在较新bash你可以用下面的方法来代替,[[ ]]关键字能正确处理空白、空格、带横线等问题。...另注意,[[适用于字符串,如果是数值,要用如:(( $var > 8 )) 9)管道操作不要同时读写文件 你不能在同一条管道操作同时读写一个文件。

51310

97 条 Linux 运维工程师常用命令总结 | 史上最全Linux命令总结

,默认开头10 -v 显示文件名 -c number 显示前number个字符,若number为负数,则显示除最后number个字符所有内容 -number/n (+)number 显示前...按「^」:移动到光标所在行"首"   按「w」:光标跳到下个字开头   按「e」:光标跳到下个字字尾   按「b」:光标回到上个字开头   按「#l」:光标移到该行第#个位置,如:5l,56l...4)删除文字   「x」:每按一次,删除光标所在位置"后面"一个字符。   「#x」:例如,「6x」表示删除光标所在位置"后面"6个字符。   ...「#dd」:从光标所在行开始删除# 5)复制   「yw」:将光标所在之处到字尾字符复制到缓冲区。   「#yw」:复制#个字到缓冲区   「yy」:复制光标所在行到缓冲区。   ...eg: find / -perm +7000 -exec ls -l {} \; ,额外指令-exec开头\;结尾{}代替前面找到内容 | xargs -i

2.9K50

97 条 Linux 运维工程师常用命令总结

,默认开头10 -v 显示文件名 -c number 显示前number个字符,若number为负数,则显示除最后number个字符所有内容 -number/n (+)number 显示前...按「^」:移动到光标所在行"首"   按「w」:光标跳到下个字开头   按「e」:光标跳到下个字字尾   按「b」:光标回到上个字开头   按「#l」:光标移到该行第#个位置,如:5l,56l...4)删除文字   「x」:每按一次,删除光标所在位置"后面"一个字符。   「#x」:例如,「6x」表示删除光标所在位置"后面"6个字符。   ...「#dd」:从光标所在行开始删除# 5)复制   「yw」:将光标所在之处到字尾字符复制到缓冲区。   「#yw」:复制#个字到缓冲区   「yy」:复制光标所在行到缓冲区。   ...eg: find / -perm +7000 -exec ls -l {} \; ,额外指令-exec开头\;结尾{}代替前面找到内容 | xargs -i 默认前面输出用{}代替

1.3K20

Shell脚本学习1

是一个约定标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell #开头就是注释,会被解释器忽略,sh里没有多行注释 3、echo/printf/read echo使用: echo...:是Shell一个内部指令,用于在屏幕上打印出指定字符串 echo arg #输出arg变量 echo -e arg #执行arg里转义字符。...: 变量名和等号之间不能有空格,有空格会出错 如果手误写错(例如 var = test),刚好要使用rm -rf $var/删除这个目录,实际删除是/ 变量名命名须遵循如下规则: 首个字符必须为字母...使用 unset 命令可以删除变量: unset variable_name 说明:变量被删除后不能再次使用,unset 命令不能删除只读变量 变量类型 三种变量: 局部变量 :局部变量在脚本或命令定义...转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键) \f 换页(FF),将当前位置移到下页开头 \n 换行 \r 回车 \t 水平制表符(tab键) \v 垂直制表符 shell默认是不转义上面的字符

30420

Shell 变量

同时,变量名命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash里关键字(可用help命令查看保留关键字)。...shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell正常运行. ---- Shell 字符字符串是shell编程中最常用最有用数据类型(除了数字和字符串,也没啥其它类型好用了...单引号 str='this is a string' 单引号字符限制: 单引号里任何字符都会原样输出,单引号字符变量是无效; 单引号字串不能出现单引号(对单引号使用转义符后也不行)。...获取数组元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。 定义数组 在Shell,用括号来表示数组,数组元素用”空格”符号分割开。...[*]} # 取得数组单个元素长度 lengthn=${#array_name[n]} Shell 注释 ”#”开头就是注释,会被解释器忽略。

2.1K40

shell脚本语法基础

一、变量 1. shell变量声明和使用 shell变量声明与python类似,有以下特点: 只能使用字母数字和下划线 必须字母或者下划线开头 不能使用shell关键字(用help命令可以查看所有保留关键字...在shell脚本,可以使用unset来销毁变量,例如: name='ianzhi' unset name 二、数据类型 shell是弱类型语言,输入时候无论是数字还是字符串,shell都是以字符串类型来存储...字符串 在shell脚本定义字符串变量可以使用单引号或者双引号,也可以不使用引号,不适用引号与使用双引号基本相同。 使用单引号性能会更好,但是将不会解析字符变量。 2....数组 bash中支持一维数组,定义数组用小括号包含空格分隔字符串即可。数组元素下标0开始。...注释 #号开头就是注释,多行注释可以使用#号,或者也可以使用大括号括起来。 2.

78010

shell脚本中常用命令复习

忽略大小写匹配统计包含关键字root行数 # grep -i ^root passwd 忽略大小写匹配root开头 # grep bash$ passwd 匹配bash结尾 # grep...-n ^$ passwd 匹配空行并打印行号 # grep ^# /etc/vsftpd/vsftpd.conf 匹配#号开头 # grep -v ^# /etc/vsftpd/vsftpd.conf...:替换,删除 tr用来从标准输入通过替换或删除操作进行字符转换;主要用于删除文件控制字符或进行字符转换。...-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。...,不会改动源文件 -d:自定义间隔符,默认是tab,只接受一个字符 -s:将每个文件所有内容按照一输出,文件TAB间隔。

82510
领券