我试图仅在另一列(称为y)包含等于1的项的情况下提取列的值(称为x),如果该条目等于0(或其他任何值),那么我希望它被忽略。然后,将以特定格式将x列的条目写入文件。
我已经尝试使用while read lineand in if语句来做到这一点,但是因为我已经while read line在提取列y值中使用了,所以我很难使其工作。显示了如何提取y列并将其保存到文件中。
cut -d "," -f4 $input| sed '1d' | while read line;
do
printf -- "- name: `echo "$line" | tr a-z A-Z`\n search_string: ['$line']\n exact_match: False\n" >> output.txt
done
果不清楚,则x列为处理列,y列为监视列。
如果有人有任何想法,我将不胜感激。
awk -F, -v input="$input" '$4==1 && $3==input{
printf "name: %s\nsearch_string: [%s]\nexact_match: False\n", toupper($3), $3 }' input.csv
如果您process1在shell变量中具有值“ ” ,则上述“ awk-oneliner”将提供以下输出$input。您可以更改该$input值以获得不同的结果。
name: PROCESS1
search_string: [process1]
exact_match: False
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。