Другоеawkрешение:
awk 'NR>1 && a && substr($1,1,1)!=a{ print "" }{ a=substr($1,1,1) }1' file
substr($1,1,1)
- извлечь 1-й символ из 1-го поляВы меняете пользователя или что-то подобное между вызовом из сценария и запуском из командной строки? Если это так, возможно, ПУТЬ изменился и выполняется другой поиск.
При возникновении специфических проблем, подобных этой, я часто запускаю команду с помощью strace, чтобы увидеть, что она делает по-другому.
Я не вижу никакой разницы между двумя вашими вызовами, возможно, есть намек на то, что вы запускаете второй из сценария, так что, возможно, в этом и заключается разница.Не могли бы вы запустить 'pwd' перед обоими, просто чтобы убедиться, что они работают из одного и того же места, и 'which find' тоже может быть полезным.