2011-01-21 99 views
1

好吧我正在寻找这样做我想写一个脚本,会问用户他们想要什么使用这段代码我可以做,我记录他们的输入。Shell脚本读取输入并复制并粘贴

#!/bin/bash 

read inputline 
what="$inputline" 
echo $what 

然后我有一个是别人放在这里,在这条道路/系统的/ etc/99oc它看起来像这样

一些文本一些文字另一个文件(想在这里粘贴用户输入)更多的文本更多的文本

因此,脚本需要能够接受输入并将其粘贴到另一文档中的文本之间。这可能吗?备择方案?

感谢您的帮助

编辑 是对不起这里是第二个文件中的每个行会被复制到

回声“1‘输入到这里’”>的/ proc /超频/ mpu_opps

回声 “2 '输入到这里'”>的/ proc /超频/ mpu_opps

回声 “3 '输入到这里'”>的/ proc /超频/ mpu_opps

回声 “4 '输入到这里'”>的/ proc /超频/ mpu_opps

回声 “5 '输入到这里'”>的/ proc /超频/ mpu_opps

回声“6“输入到这里“”>的/ proc /超频/ mpu_opps

其中‘输入到这里’用了‘’是在输入应粘贴

也是刚刚得知我可以做CP $什么

感谢帮助

回答

0

试试这个:

#!/bin/bash 

read -r -p "Please enter some text" inputline 
# attempt to sanitize the input by escaping some special characters 
printf -v inputline '%q' "$inputline" 
# insert the user input before the second quotation mark on each line in the file 
sed -i "/^echo.*mpu_opps$/s/\"/$inputline\"/2 /system/etc/99oc 

sed命令将在地方换到文件(GNU sed)。如果您正在运行OS X,则需要备份扩展。如果您运行的版本不是-ised,则需要将输出重定向到临时文件并对其进行重命名。

请确保在测试文件上使用它,以确保它能做到您想要的。

0

是的,这可能与sedawk之类的东西是可能的,但我们需要一些东西来锁定,以知道(want user input pasted here)应该去哪里。也就是说,它总是插入在以'Some'开始的行中的第6个和第7个词之间,等等。