Bash Shell脚本,用于接受用户输入和更改文本文件中的字符串,并在单独的文件中追加和重复相同的文本。

Bash Shell脚本,用于接受用户输入和更改文本文件中的字符串,并在单独的文件中追加和重复相同的文本。,bash,shell,Bash,Shell,我有一些文字和数字的混合,比如说: God is very 1234 and strong He listens to us all day long And teaches us to do what's right But nobody knows 1234 what He does at night. 我想写一个shell脚本,它从键盘接收用户输入,替换数字位,将更新的文本复制到一个单独的文件中,并重复这个过程,这样就创建了一个文本文件,其中包含该文本,多次在每个用户输入时将替换的数

我有一些文字和数字的混合,比如说:

God is very 1234  and strong
He listens to us all day long
And teaches us to do what's right
But nobody knows 1234  what He does at night.

我想写一个shell脚本,它从键盘接收用户输入,替换数字位,将更新的文本复制到一个单独的文件中,并重复这个过程,这样就创建了一个文本文件,其中包含该文本,多次在每个用户输入时将替换的数字位一个接一个地附加到另一个文本上

您可以使用
awk
实现您的要求。您可以在下面看到从键盘读取数字并将其替换到您的
文件\u orig
中的简单脚本。并在最后将每个输出附加到
文件

#!/bin/bash

echo "Input a numeric:"
read num

cat file_orig | awk -v aa=$num -v FPAT="[1-9]" '{ sub(/[0-9]+/,aa); print $0}' >> file

所以这不是免费的编码服务。你必须自己尝试解决这个问题。如果您无法让它工作,请发布您尝试的内容,我们将帮助您修复。使用
sed
应该很容易。使用输出重定向将结果附加到新文件中。很抱歉,没有发布我已经尝试过的内容,我实际遇到的问题是用户重复输入,不确定如何使用while循环。并在每次提供新输入时启动整个替换和复制。感谢帮助。
while true;不读取-r字符串;使用$string的代码;完成
这是一个非常基本的shell脚本。所以也不是辅导服务,你应该知道基础知识。