【问题标题】:Need to replace first line with the input from user in shell script需要用 shell 脚本中用户的输入替换第一行
【发布时间】:2015-10-28 14:57:21
【问题描述】:

我是 shell 脚本的新手。我正在制作一个脚本,我需要用用户的输入值替换文件第一行中的某些值。我怎样才能做到这一点?

我在名为 exclude 的文件中有这两行:

Exclude = CLASS:itsc_usa7061vm1300-1399
Exclude = RECYCLER

现在我想用来自用户的任何值替换 CLASS:* 之后的所有内容。

我使用了下面的命令,但是没有结果:

sed "1s/*/Exclude = CLASS:$1/" exclude

【问题讨论】:

  • * 不是匹配所有内容的模式。 * 在该用法中恢复为文字,因此它仅匹配文字 *。您的意思是 .* 匹配所有内容。

标签: shell sed


【解决方案1】:

改用以下命令,因为您的选择器正在选择所有内容,

sed "1s/CLASS:.*/CLASS:$1/" exclude

输出:

$ a="hello"

$ echo $a

hello

$ sed "1s/CLASS:.*/CLASS:$a/" sample

Exclude = CLASS:hello
Exclude = RECYCLER

【讨论】:

  • @Azhar 如果有效,请点击向下箭头正下方的勾号,将其作为答案。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 2010-10-01
  • 1970-01-01
相关资源
最近更新 更多