bash – sed追加从stdout获得的文本
发布时间:2020-12-15 22:09:20 所属栏目:安全 来源:网络整理
导读:我知道sed可以用几种不同的方式附加文本: 追加字符串NEW_TEXT: sed -i '/PATTERN/ a NEW_TEXT' file 附加文件file_with_new_text的内容: sed -i '/PATTERN/ r file_with_new_text' file 但是,无论如何通过stdout将文本追加到sed?我希望得到相当于: # XX
我知道sed可以用几种不同的方式附加文本:
>追加字符串NEW_TEXT: sed -i '/PATTERN/ a NEW_TEXT' file >附加文件file_with_new_text的内容: sed -i '/PATTERN/ r file_with_new_text' file 但是,无论如何通过stdout将文本追加到sed?我希望得到相当于: # XXX,YYY,ZZZ are line numbers # The following appends lines XXX-YYY in file1 # after line ZZZ in file2. sed 'XXX,YYY p' file1 > /tmp/file sed -i 'ZZZ r /tmp/file' file2 无需使用临时文件.这可能吗? 解决方法
您可以从/ dev / stdin中读取.显然,这只能在每个进程中使用一次.
例: $cat file1 this is text from file1 etc $cat file2 Hello world from file2 $sed -n '1p' file1 | sed -i '$r /dev/stdin' file2 $cat file2 Hello world from file2 this is text from file1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |