linux - 将一段文本从 stdin 粘贴到文件中的特定位置

标签 linux shell sed

我正在尝试弄清楚如何有效地从 X 应用程序复制粘贴到终端。具体来说,我想在我的网络浏览器中突出显示一个文本部分,然后将此注释粘贴到 shebang 行之后的文件中。

我目前的代码是这样的:

xclip -o | sed 's/^/#/' | sed '2n' myscript.pl

第一个命令获取我在浏览器中突出显示的文本
第二个命令通过添加 #
来注释这些行 最后一点不起作用..

我在这里要做的是将第 2 行之后的文本附加到我的脚本中。但显然我做错了。有没有人有有用的建议?

最佳答案

您可以使用 sed read 来安全地处理所有类型的输入,包括带有特殊字符和多行的输入。这需要一个中间文件:

 xclip -o | sed -e 's/^/#/g' -e '$s/$/\n/' > TMP && sed -i '1r TMP' den && rm TMP

关于linux - 将一段文本从 stdin 粘贴到文件中的特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22784798/

相关文章:

Linux - 检查字符串是否在列表中

c - 使用 : as delimiter in shell 提取字符串

linux - Docker 镜像和容器存储在哪个文件(或路径)中?

linux - 需要对 Qemu 源代码行进行注释

c - 有配置文件读/写C代码生成器吗?

linux - Shell 脚本 : Count files, 删除 'X' 最旧的文件

regex - 只要没有 ,就从头到尾匹配。在 : Convert grep -Po command to sed 之间

linux sed 如何从提取的输出中删除括号

regex - 如何使用正则表达式在 Bash 中提取部分字符串

linux - 制作PCA-SIFT代码时如何指定pgm库的include和lib路径