执行bash命令多少次

时间:2017-10-20 07:40:47

标签: bash

我有一个将多次执行PHP文件的脚本:

#!/bin/bash

FILE=$(cat $1)

while IFS= read -r i in $file; do
php x.php "$i" &
done < "$1"

文字将是

a
b
c
d

我该怎么做才能向我显示它使用的行号,例如

3(current line)/200(number of total lines)

我做了一些研究,但我找不到任何东西。

1 个答案:

答案 0 :(得分:2)

您需要先使用wc获取文件中的行数,然后在循环中添加一个计数器。您将文件重定向到while循环,因此您只需在阅读时分配i变量:

#!/bin/bash

len=$(wc -l < "$1")
j=1

while read -r i; do
  echo "$j / $len"
  php x.php "$i" &
  j=$(( j+1 ))
done < "$1"