shell中for循环变量常见使用场景

文章介绍了在Shell脚本中for循环变量的几种常见非典型使用场景,包括在awk条件语句内使用变量$i,以及在文件名生成时变量后跟随字符的情况。示例展示了如何在awk命令中比较字段与for循环变量,并将结果重定向到以变量命名的文件。此外,还提及了处理包含多个字符的变量列表的示例,用于过滤和提取特定字符开头的行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell中for循环变量常见使用场景

1 目的

在shell脚本for循环使用过程中经常出现非常规使用场景,如在awk的条件语句中、输出文本中变量后有字符等,这些场景中需要对for循环中的变量做处理。希望持续完善

2不同场景

2.1 变量在awk内部

变量在awk条件语句内部,用'$i'

for ((i = 1; i <= 22; i++)) 
do
	cat ../../a.txt |awk '{if($5=='$i') print}' > a.top
done

2.2 变量后有字符

for ((i = 1; i <= 22; i++)) 
do
	cat ../../a.txt |awk '{if($5=='$i') print}' > a.$i\top
done
# 或者
for ((i = 1; i <= 22; i++)) 
do
	cat ../../a.txt |awk '{if($5=='$i') print}' > a.${i}_top
done

2.3 变量为字符

chr_list="chr1 chr2 chr3 chr4 chr5 chr6 chr7 chr8 chr9 chr10 chr11 chr12 chr13 chr14 chr15 chr16 chr17 chr18 chr19 chr20 chr21 chr22 chrX chrY chrM"
for  i in $chr_list
do
	cat ${output_dir}tibetan.fpkm.bed|awk '{if($1=="'${i}'") print}'  > ${output_dir}${i}.fpkm.bed
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫霄zixiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值