gpt4 book ai didi

linux - 用空格和特殊字符替换文本

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:39 25 4
gpt4 key购买 nike

我正在尝试制作一个 bash 脚本以在 Debian 中启用自动登录。我需要替换这一行:

1:2345:respawn:/sbin/getty 38400 tty

用这个:

1:2345:respawn:/sbin/getty tty1 --autologin $uName

我已经试过了,但由于 : -- $ 和空格而出现错误

uName=Sean
Old="1:2345:respawn:/sbin/getty 38400 tty"
New="1:2345:respawn:/sbin/getty tty1 --autologin $uName"

cat /location/file.txt | sed s/$Old/$New/

我已尝试将 38400 tty 替换为其他内容,但该文件有多行包含 38400 tty。我也尝试替换顶行,但它需要在配置中进一步下降。我无法根据行号更改它,因为某些配置可能位于不同的编号上。

最佳答案

  1. sed 使用备用正则表达式分隔符,例如 ~,因为您的 sed 输入字符串中有 /
  2. 避免使用 catsed
  3. 使用双引号进行变量扩展

Sed 命令:

sed "s~$Old~$New~" /location/file.txt

关于linux - 用空格和特殊字符替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24192611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com