Вот то, что я сделал бы:
избегайте использования такого количества каналов. Каждый раз, когда возможно, используйте обходное решение. Вместо find . | grep -n <>
почему бы не использовать -exec
?
Попытайтесь делать следующее:
awk '{print $1}' <(find $path -exec grep -n $pattern {} \;)
NB: Это может работать, как, или с небольшим изменением, в зависимости от оболочки и версии find
Вы используете.
Если это - то, как - выгружаемые аппаратные средства, все еще необходимо выпустить scsi-пересканирование. Можно сделать это из командной строки непосредственно или иметь сценарий, делают это для Вас.