awk - 在 SED 转义中替换变量 $
问题描述
我在文件中有 20 行我想在使用变量设置第 n 行第 n 行号之后删除所有行,例如 var1=5 然后使用 sed 删除第 5 到 20 行
试过了
sed ""$var1",$d" file -i
但它会产生以下错误
sed: -e expression #1, char 5: unexpected `,'```
解决方案
我们能试试
var="3"
awk -v line="$var" '1; FNR==line{exit}' file > temp && mv temp file
细节:
在这里,我们创建了一个var
带有 value的 shell 变量3
,然后我们将该变量传递给 awk 程序,现在awk
程序正在打印每一line
行,直到行号为3
然后程序退出。
推荐阅读
- javascript - 在更改功能上使用 jQuery 设置标签
- windows - Win32 MoveFile 在重命名带有子文件夹的文件夹时返回 ERROR_ACCESS_DENIED
- javascript - Node Express app.get(*) req.url 总是 /favion.ico
- java - logback(1.3.0) & slf4j(2.0.0-alpha2) 版本组合不起作用
- javascript - 对 useEffect 感到困惑
- excel - 如果工作日等于工作日excel,则求和
- linux - 如何在armv6中找到execve的系统调用号?
- c# - 无法将 indexing[] 应用于 GameObject 类型的表达式
- javascript - nuxt build 中断 VueJS 事件
- python - 如何根据值拆分数据框中的列?