问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁能帮忙解释下linux shell程序中的sed "s/$//;s/ *//g;/^$/d" 这句是什么意思

发布网友 发布时间:2022-04-23 03:51

我来回答

3个回答

热心网友 时间:2023-10-13 21:43

意思是删除空行,空行包括没有任何字符的空行,和只有若干个空格的空行。

1、s/$// 在每一行后面追加空。

2、s为搜索。

如:s/a/b/  

搜索a将替换为b ,并只替换一次。

3、s/ *//g 将空格删除。

4、g代表搜索到的全部替换 。

5、“空格星”( " *") 代理多个空格。

6、/^$/d   删除空行。

扩展资料:

作用

cat file.pl

use Getopt::Std;

use vars qw($opt_d $opt_f $opt_p);

getopts('d:f:p');

print "\$opt_d => $opt_d\n" if $opt_d;

print "\$opt_f => $opt_f\n" if $opt_f;

print "\$opt_p => $opt_p\n" if $opt_p;

然后在命令行中运行:

perl file.pl -d 20040412 -f louiskoochen -p

可得到下列形式的输出:

$opt_d =>200040412

$opt_f =>louiskoochen

$opt_p =>1

解释一下"d:f:p",d和f后有冒号,表示-d,-f后面要跟参数。p后面没有冒号,表示-p后面不带参数。而且-d,-f后所跟的参数分别赋给变量$opt_d和$opt_f。对于变量$opt_p,若命令行加了-p,则$opt_p=1,否则为0。

热心网友 时间:2023-10-13 21:43

s/$// 在每一行后面追加空. s为搜索 如s/a/b/  搜索a 将替换为b ,并只替换一次.

s/ *//g 将空格删除.  g代表搜索到的全部替换 。“空格星”( " *") 代理多个空格

/^$/d   删除空行.

 

 

 举例说明 .

数据文件

-bash-4.1$ cat b.txt 
111  123  456    
2    abc  cbd   
444  rts  786
-bash-4.1$

 

使用sed "s/$//" 处理文件 没有变化

-bash-4.1$ sed "s/$//" b.txt
111  123  456    
2    abc  cbd   
444  rts  786
-bash-4.1$

 

修改为sed "s/$/AAAA/" b.txt

-bash-4.1$ sed "s/$/AAAA/" b.txt
111  123  456    AAAA
2    abc  cbd    AAAA
AAAA
444  rts  786AAAA
-bash-4.1$

 

使用s/ *//g"的结果

-bash-4.1$ sed "s/$//;s/ *//g" b.txt 
111123456
2abccbd
444rts786
-bash-4.1$

 

最后sed "s/$//;s/ *//g;/^$/d"

-bash-4.1$ sed "s/$//;s/ *//g;/^$/d" b.txt
111123456
2abccbd
444rts786
-bash-4.1$

热心网友 时间:2023-10-13 21:44

删除空行,空行包括没有任何字符的空行,和只有若干个空格的空行。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 智盈人生 万能保险 万能险怎么样 linux shell sed 的用法 智富人生b 万能保险 保监会万能险的法律规定 万能保险的优点有哪些,缺点有哪些 万能险是怎么保法的 万能险和分红险的区别是什么? 万能理财保险怎样讲解 内存卡受损,不格式化怎么直接修复? SD卡怎么快速修复呢? 微信公众号个人订阅号怎么在菜单栏里子菜单发布多篇文章? 微信公众平台的回复菜单栏(如图)怎么编辑啊? 微信公众号里子菜单内这样的是怎么排版的 微信公众号的子菜单怎么修改和设置? 微信公众号怎么修改已创建好的菜单 微信公众号自定义菜单栏修改后自动恢复修改前内容? 微信公众号个人订阅号如何设置自定义菜单? 公众号菜单发布后怎么继续编辑 我想重新设置公众号的菜单栏,点击“自定义菜单”却提示未开启自定义菜... linux shell编程sed用法 linux shell sed表达式分析 Linux Shell中,sed重定向到文件自身的原理。 linux shell sed命令与转义字符 linux Shell Sed 命令 -- 如何 处理 XML 文件 linux shell sed 正则表达式分析 linux shell sed命令的问题! linux shell 中sed 替换命令不能立即保存问题 帮忙写个Linux下shell脚本,(使用sed命令处理hosts文件) linux shell中 sed 文件的1到7行行首有指定字符串的整行替换为为指定内容. 如何使用Linux sed 命令将Shell的参数传进去写在文件里 如何使用linux的shell 命令输出本地网页数据 例如sed,awk,grep 指令 awk、sed和shell有什么区别和关系? linux shell 脚本里 怎么用 cat 命令 读取 一个文件的内容 然后用 sed命令 替换 重阳节的故事 重阳节的故事? 九九重阳节的故事 重阳节的来历(简略) 支付宝绑定了别人的身份证,怎么修改成自己的? 关于重阳节的传说 300字