我尝试使用以下代码替换QQ为ZZ,但它没有做我想要的:
var1=QQ
sed -i 's/$var1/ZZ/g' $file
Run Code Online (Sandbox Code Playgroud)
但是,此代码执行我想要的操作:
sed -i 's/QQ/ZZ/g' $file
Run Code Online (Sandbox Code Playgroud)
我如何在 中使用变量sed?
我想替换$fileWithPathin $file,但是这不起作用,因为(我认为)路径没有被转义。怎么逃避呢?
sed -i 's/${fileWithPath}/HAHA/g' $file
Run Code Online (Sandbox Code Playgroud) 有人告诉我这是可能的,但没有一个工作示例,它sed可以从字符串变量中读取而无需输入文件。我还没有让它工作。为了一般安全,我将$PATH变量写入另一个变量,因为我对此很困惑,因为在我确切地知道如何执行此操作之前,我不需要出现其他问题。
考虑以下:
~$x=$PATH
~$sed -i 's/:/ /g' $x
Run Code Online (Sandbox Code Playgroud)
这失败了:没有这样的文件或目录。
以下是我尝试过的其他一些:
~$ sed -i 's/:/ /g' | (read x)
sed: no input files
~$ sed -i 's/:/ /g' | (read $x)
bash: read: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games': not a valid identifier
sed: no input files
~$ sed -i 's/:/ /g' | $(read x)
sed: no input files
~$ sed -i 's/:/ /g' | $(read $x)
bash: read: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games': not a valid identifier
sed: no input files
~$ sed -i 's/:/ …Run Code Online (Sandbox Code Playgroud) 我有一句话说...
Fred Flintstone, Bedrock USA
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像...
Fred Flintstone, Bedrock USA ***
Run Code Online (Sandbox Code Playgroud)
如何使用sed命令将一些 * 添加到行尾?
猫文件1
foo
ice
two
Run Code Online (Sandbox Code Playgroud)
猫文件2
bar
cream
hundred
Run Code Online (Sandbox Code Playgroud)
期望的输出:
foobar
icecream
twohundred
Run Code Online (Sandbox Code Playgroud)
在我的场景中,file1 和 file2 将始终具有相同数量的行,以防事情变得更容易。
我最近看到了很多sed,我发现这是一个相当混乱的命令。联机帮助页并不是特别有用,但我知道它可用于解析其他命令的输出。
究竟是sed什么以及它的用途是什么?我正在寻找一个全面的答案,涵盖sed它是什么、它的常用用途以及一些基本示例/语法。
我正在为我的虚拟机构建一个 bash 脚本,我想知道如何替换本文档中的特定行:
[base]
## uncomment and set autologin username to enable autologin
# autologin=dgod
## uncomment and set timeout to enable timeout autologin,
## the value should >=5
# timeout=10
## default session or desktop used when no systemwide config
# session=/usr/bin/startlxde
Run Code Online (Sandbox Code Playgroud)
这一行:
# autologin=dgod
Run Code Online (Sandbox Code Playgroud)
我想改成这个
autologin=ubuntu
Run Code Online (Sandbox Code Playgroud)
我尝试过“tee”和“sed”,但无法使其工作。对于比我更经常使用 bash 脚本的人来说,这应该很容易。
我很高兴grep该-P选项支持 Perl 兼容正则表达式。
该工具sed没有此功能是否有原因?
我有一个包含以下内容的文件:
(((jfojfojeojfow
//
hellow_rld
(((jfojfojeojfow
//
hellow_rld
Run Code Online (Sandbox Code Playgroud)
如何提取以括号开头的每一行?