번호가 매겨진 파일을 반복하여 출력하는 방법은 무엇입니까?

번호가 매겨진 파일을 반복하여 출력하는 방법은 무엇입니까?

나는 실행하려고합니다 :

cat s_f_d_TMT161023_1306.fits.coo.1 | sed -e '/^#/d'| sort -n -k 3 | head -n 50 >> inputcoo2.list

그리고,

cat s_f_d_TMT161023_1307.fits.coo.1 | sed -e '/^#/d'| sort -n -k 3 | head -n 50 >> inputcoo3.list

등.

나는 각각의 마지막 4자를 사용했습니다cat 다양했습니다.1305~까지1440. 또한 출력 이름이 1씩 증가하기를 원합니다 inputcoo3.list.inputcoo4.list

일종의 루프를 실행해야 할 것 같은데, 저는 bash를 처음 접하고 구현 방법을 모릅니다.

나는 무엇을 해야 합니까?

답변1

노력하다

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
  • 이것은 다음을 절약합니다cat
  • 대상 파일이 추가됩니다.
  • 0파일 이름에 선행(문자 o가 아닌 숫자 0)을 사용 하려면 다음을 사용하십시오.j="$(printf '%03d' $i)"

관련 정보