加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在shell脚本中使用sed的双倍间距文件

发布时间:2020-12-15 21:41:19 所属栏目:安全 来源:网络整理
导读:我是 shell脚本的新手,我使用以下代码将文件加倍空间(输入文件是一个参数): sed G $input_file $input_file 问题是,如果我原始文件的内容是: HiMy name is 我的双倍行距文件是: HiMy name isHiMy name is 我需要在shell脚本中添加其他内容,以便我的文件只
我是 shell脚本的新手,我使用以下代码将文件加倍空间(输入文件是一个参数):

sed G $input_file >> $input_file

问题是,如果我原始文件的内容是:

Hi
My name is

我的双倍行距文件是:

Hi
My name is
Hi

My name is

我需要在shell脚本中添加其他内容,以便我的文件只有:

Hi

My name is

解决方法

您正在使用追加运算符(>>),它附加到相关文件中.话虽这么说,你通常不能使用>操作并输出到同一文件.在bash,或者.对于sed的特定情况,您可以使用-i选项(取决于版本和平台):

sed -i G $input_file

如果你的版本有这个选项,那应该“就地”编辑你的文件.我说“到位”因为我很确定它实际上会创建一个新文件并将其移回到第一个文件的顶部(inode不同).如果没有,您将输出到单独的文件,并将文件移回:

sed G ${input_file} > ${input_file}.bak
mv ${input_file}.bak ${input_file}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读