Shell脚本读取输入并复制和粘贴

时间:2011-01-21 04:24:33

标签: bash shell input

好的,我正在寻求这样做我正在尝试编写一个脚本,用户可以通过这些代码向用户询问他们想要的内容,我会记录他们的输入。

#!/bin/bash

read inputline
what="$inputline"
echo $what

然后我有另一个文件放在此路径/ system / etc / 99oc的其他位置

有些文字更多文字(希望用户输入粘贴在这里)更多文字更多文字

因此脚本需要能够获取输入并将其粘贴到另一个文档中的文本之间。这可能吗?替代?

感谢您的帮助

修改的 对不起,这里是第二个文件中将被复制到

中的每一行

echo“1”输入到这里'“>的/ proc /超频/ mpu_opps

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

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

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

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

echo“6”输入到这里'“>的/ proc /超频/ mpu_opps

其中'输入到此'而不是''是应该粘贴输入的位置

也刚学会了我可以做cp $ what

感谢您的帮助

3 个答案:

答案 0 :(得分:0)

是的,这可以通过sedawk这样的方式实现,但我们需要注意一些事项来了解(want user input pasted here)应该去哪里。即,它将始终插入以“Some”等开头的行中的第6和第7个单词之间。

答案 1 :(得分:0)

可以使用sed轻松完成。

无论使用何种操作(插入,添加或交换),语法都将保持不变:

sed '{/pattern/|/regexp/|n}{i|a|c}<text to be iserted>' file

检查http://en.kioskea.net/faq/1454-inserting-text-in-a-file以获取更多帮助。

答案 2 :(得分: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,则需要备份扩展。如果您运行的sed版本没有-i,则需要将输出重定向到临时文件并重命名。

确保在测试文件上使用它以确保它能够满足您的需求。