gpt4 book ai didi

ubuntu - 如何使用存储在变量中的 sed 删除 ubuntu 中的一行?

转载 作者:行者123 更新时间:2023-12-04 18:47:14 27 4
gpt4 key购买 nike

我正在编写一个脚本来删除 ubuntu 中的一行文本文件,我的脚本询问用户他们想要删除哪一行并将行号存储到一个变量中。但是,我不知道如何将 sed 与变量一起使用,我搜索了很多关于 sed 的主题。不幸的是,只有这样的事情:

sed '2d' file1 > file2

我想要的是
read index
# I have tried:
sed ($index)d file1 > file2 # didn't work
sed $(index)d file1 > file2 # didn't work

如何解决这个问题?

最佳答案

在 sed 代码中使用用户定义的变量是自找麻烦——如果用户输入 s/^/rm -rf \//e;,sed 无法判断您打算在其中放置一个数字。 .而是使用 awk:

awk -v line="$index" 'NR != line' filename

如果你真的想用 sed 来做,
sed "${index}d" filename

将工作 只要用户不试图惹你 .如果用户惹你,它会以可怕的方式爆炸。

关于ubuntu - 如何使用存储在变量中的 sed 删除 ubuntu 中的一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29298615/

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