分享
 
 
 

用sed实现文件反转

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

问题:如何反转文件:

为了方便讨论我们假定我们要反转的文件a.txt内容如下(三行):

hello

world

sed

解决:

sed -e '1!G;h;$!d' a.txt > b.txt 解释如下:

实现的思想有些别扭:把保留空间(临时缓冲区)的内容附接到当前行的模式空间,

删除当前行模式空间,如此往复,直到最后一行,到最后一行的时候不删除当前模

式空间,最后输出模式空间。 命令:

上述sed命令'1!G;h;$!d',用分号隔开三个子命令G, h, d,应用于每一行的分析,

G表示把缓冲区内容附接到当前模式空间中,h表示将模式空间的内容保存到缓冲区中,

d表示删除模式空间。 地址:

我们看到G命令与d命令前面都有前缀,分别是1!和$!,这表示命令的有效的范围。

1!G表示除了第一行外都执行G命令,$!d表示除了最后一行外都执行d命令。

(举一反三:1G表示只有第一行才执行G命令,$d表示只有最后一行才执行d命令)。 处理过程:

好了,处理过程涉及的命令以及命令的有效范围我们都清楚了,就可以看看命令的

执行过程以及处理过程缓冲区空间和模式空间的变化: 命令 缓冲区 模式空间

1行 h;d 前(null) 后hello\n 前hello\n 后(null)

2行 G;h;d 前hello\n 后world\nhello\n 前world\n 后(null)

3行 G;h 前world\nhello\n 后sed\nworld\nhello\n 前sed\n 后sed\nworld\nhello\n 说明:前表示分析前,后表示分析后。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有