我的脚本(bash shell)从文件* 026.s01中提取了一些数字
input=${input_dir}/*026.s01
seq=` cat $input |awk 'NR>3{print substr($2,5,7)}' | sort -n | head -1`
first_sht=` cat $input | awk 'NR>3{print int($3)}' | head -1`
last_sht=` cat $input | awk 'NR>3{print int($3)}' | tail -1`
echo " $seq $first_sht last_sht" | awk '{printf("%6s%10s%9s\n",$1,$2,$3)}' >> dir_file_SEQ-$seq.txt.
如何在多个文件${input_dir}/*.s01
上执行此操作?
我尝试使用:
for file in ${input_dir}/*.s01
do
done
echo " $seq $sail_line $src_dir" | awk '{printf("%6s%10s%9s\n",$1,$2,$3)}' >> dir_file_SEQ-$seq.txt
但是我没有得到几个dir_file_SEQ-???。txt文件,而只有一个只有dir_file_SEQ-.txt的文件,其内容如下:
Date 229
Date 409
Date 589
Date 769
Date 949
Date 1129
我认为“日期”是由错误引起的,这不是我要的内容,第二列包含我所问的值之一,但我仍然想念其他值。
答案 0 :(得分:0)
bash for loop应该立即为您完成:
SRC_DIR=/root
for FILE in ${SRC_DIR}/*.mp4
do
YOUR COMMANDS
done
答案 1 :(得分:0)
它以这种方式工作
for file
in /dir./*.s01
do
input=$file