在for循环中,bash中的awk语句未执行

用户名

我有一个带有搜索词(补丁)的文本文件,需要从“ patterns.txt”中删除。我已经测试了awk语句,它可以正常工作-脚本中除外。

另外,当我回显标准输出时,$ target变量可以正确打印。但是由于某种原因,该语句无法正确执行。

#!/usr/local/bin/bash

input_file='patts'
i=0
while read line; do
  array[$i]=$line
  i=$((i+1))
done < "$input_file"
for (( i=0; i<${#array[@]}; i++ )); do
  target=`eval echo ${array[i]}`
  echo $target
  awk '!/$target/' patterns.txt > temp && mv temp patterns.txt
done
阿努巴瓦

Shell变量不会用单引号引起来。另外最好使用-v name=value将参数传递给awk:

awk -v target="$target" '!($0 ~ target)' patterns.txt > temp && mv temp patterns.txt

但是看起来您可以使用replace awkby grep -v

grep -v "$target" patterns.txt > temp && mv temp patterns.txt

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

bash 循环中的 awk

来自分类Dev

R:在for循环中执行if语句

来自分类Dev

'if' 语句中的 'for' 循环中的 Bash 'if' 语句

来自分类Dev

for循环外的语句未执行

来自分类Dev

for 循环中发生分段错误(未执行正文语句)C

来自分类Dev

Ansible 对循环中的项目执行 when 语句

来自分类Dev

javascript中的for循环中的if语句

来自分类Dev

在for循环中使用awk命令的Bash case语句不起作用

来自分类Dev

如何在for循环中执行准备好的语句以从jsp中的表中获取数据?

来自分类Dev

如何在循环中执行多个保护语句?

来自分类Dev

如何在while循环中执行if语句,反之亦然

来自分类Dev

for 循环中的某些语句未在每次迭代时执行

来自分类Dev

用于在日期值的循环中执行 IF 语句的 Google 脚本

来自分类Dev

如何在循环中执行()?在C中

来自分类Dev

循环中的活动-执行停止的活动(未恢复)

来自分类Dev

bash:for ...循环中的错误行为以及测试语句

来自分类Dev

for循环中的多个语句

来自分类Dev

for循环中的if / else语句

来自分类Dev

for循环中的Java if语句

来自分类Dev

for循环中的条件语句

来自分类Dev

for循环中的if语句

来自分类Dev

if语句在while循环中?

来自分类Dev

While 循环中的 if 语句

来自分类Dev

VBA:for循环中的if语句

来自分类Dev

将两列awk放入bash for循环中

来自分类Dev

在bash中的for循环中打开多个终端

来自分类Dev

bash中while循环中的实数

来自分类Dev

BASH 函数中 for 循环中的数组

来自分类Dev

在 for 循环中循环 else 语句?