我正在尝试运行:
cat s_f_d_TMT161023_1306.fits.coo.1 | sed -e '/^#/d'| sort -n -k 3 | head -n 50 >> inputcoo2.list
Run Code Online (Sandbox Code Playgroud)
和,
cat s_f_d_TMT161023_1307.fits.coo.1 | sed -e '/^#/d'| sort -n -k 3 | head -n 50 >> inputcoo3.list
Run Code Online (Sandbox Code Playgroud)
等等。
我使用的最后四个字符cat从1305一直到1440。我还希望输出的名称增加一个,inputcoo3.list诸如此类inputcoo4.list。
我猜我必须运行某种循环,但我是 bash 新手,不知道如何实现它。
我该怎么办?
尝试
for i in $(seq 1305 1440)
do
j=$((i - 1304))
sed -e '/^#/d' "s_f_d_TMT161023_${i}.fits.coo.1" |
sort -n -k 3 |
head -n 50 >> "inputcoo${j}.list"
done
Run Code Online (Sandbox Code Playgroud)
cat0在文件名中使用前导(数字零,而不是字符 o),请使用j="$(printf '%03d' $i)"