好的,我正在寻求这样做我正在尝试编写一个脚本,用户可以通过这些代码向用户询问他们想要的内容,我会记录他们的输入。
#!/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
感谢您的帮助
答案 0 :(得分:0)
是的,这可以通过sed
或awk
这样的方式实现,但我们需要注意一些事项来了解(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
,则需要将输出重定向到临时文件并重命名。
确保在测试文件上使用它以确保它能够满足您的需求。