Вы можете сначала извлечь 100 случайных чисел из 3494, а затем извлечь эти номера строк из каждого файла, например,
seq 3494 | shuf -n 100 | awk 'NR==FNR{ z[$0]++;next}
{if (FNR in z){ print >FILENAME"_random"}}' - ./*.txt
Это извлечет одинаковые номера строк из каждого файла и сохранит их в FILENAME"_random"
Если исполняемый скрипт не имеет строки shebang, он выполняется с помощью /bin/sh
. Если вы используете source
для его выполнения, он запускается в текущей оболочке :
$ cat s.sh
echo "shell=$shell"
echo "BASH=$BASH"
$./s.sh
shell=
BASH=/usr/local/bin/bash
$ tcsh
[~]%./s.sh
shell=
BASH=/bin/sh
[~]% source s.sh
shell=/bin/tcsh
BASH: Undefined variable.