分页: 1 / 1

怎么编写shell脚本实现相同的循环操作?

发表于 : 2021-12-29 18:42
Sapindus
小白试了半天没想明白怎么通过编写shell脚本的循环实现下面命令的效果:
cat SureChEMBL_20141001_1.txt | awk '{print $2,$1}' > SureChEMBL_20141001_1.smi
cat SureChEMBL_20141001_2.txt | awk '{print $2,$1}' > SureChEMBL_20141001_2.smi
cat SureChEMBL_20150101_3.txt | awk '{print $2,$1}' > SureChEMBL_20150101_3.smi
cat SureChEMBL_20150401_4.txt | awk '{print $2,$1}' > SureChEMBL_20150401_4.smi
cat SureChEMBL_20150701_5.txt | awk '{print $2,$1}' > SureChEMBL_20150701_5.smi
cat SureChEMBL_20151001_6.txt | awk '{print $2,$1}' > SureChEMBL_20151001_6.smi
cat SureChEMBL_20160101_7.txt | awk '{print $2,$1}' > SureChEMBL_20160101_7.smi
cat SureChEMBL_20160401_8.txt | awk '{print $2,$1}' > SureChEMBL_20160401_8.smi
cat SureChEMBL_20160701_9.txt | awk '{print $2,$1}' > SureChEMBL_20160701_9.smi
cat SureChEMBL_20161001_10.txt | awk '{print $2,$1}' > SureChEMBL_20161001_10.smi
cat SureChEMBL_20170101_11.txt | awk '{print $2,$1}' > SureChEMBL_20170101_11.smi
cat SureChEMBL_20170401_12.txt | awk '{print $2,$1}' > SureChEMBL_20170401_12.smi
cat SureChEMBL_20170701_13.txt | awk '{print $2,$1}' > SureChEMBL_20170701_13.smi
cat SureChEMBL_20171001_14.txt | awk '{print $2,$1}' > SureChEMBL_20171001_14.smi
cat SureChEMBL_20180101_15.txt | awk '{print $2,$1}' > SureChEMBL_20180101_15.smi
cat SureChEMBL_20180401_16.txt | awk '{print $2,$1}' > SureChEMBL_20180401_16.smi
cat SureChEMBL_20180701_17.txt | awk '{print $2,$1}' > SureChEMBL_20180701_17.smi
cat SureChEMBL_20181001_18.txt | awk '{print $2,$1}' > SureChEMBL_20181001_18.smi
cat SureChEMBL_20190101_19.txt | awk '{print $2,$1}' > SureChEMBL_20190101_19.smi
cat SureChEMBL_20190401_20.txt | awk '{print $2,$1}' > SureChEMBL_20190401_20.smi
cat SureChEMBL_20190701_21.txt | awk '{print $2,$1}' > SureChEMBL_20190701_21.smi

Re: 怎么编写shell脚本实现相同的循环操作?

发表于 : 2021-12-29 19:53
lilydjwg
不要试。去找教程。用 for 循环就可以了。
比如: http://www.yeolar.com/media/doc/bgb-cn/html/index.html

Re: 怎么编写shell脚本实现相同的循环操作?

发表于 : 2021-12-29 21:06
Sapindus
lilydjwg 写了: 2021-12-29 19:53 不要试。去找教程。用 for 循环就可以了。
比如: http://www.yeolar.com/media/doc/bgb-cn/html/index.html
多谢! :Haha

Re: 怎么编写shell脚本实现相同的循环操作?

发表于 : 2022-01-21 10:55
mainmaster
#!/bin/bash

postfix=txt
suffix=smi

for i in $(ls *.txt)
do
cat $i | awk '{print $2,$1}' > ${i%$postfix}$suffix
done