команды сортировки и uniq не работают, как ожидалось, когда выполняются cron

Ниже приведена часть скрипта, который дает правильный вывод при запуске вручную, но дает неправильный вывод при запуске с использованием cron:

sort < file1.out | uniq -ic |sort -nr> file2.out 

При запуске в командной строке это дает счет, где строки сгруппированы, игнорируя регистр, например:

 73 /universal/webselfservice/pdf/r60.pdf 

При прохождении через cron подсчеты разбиваются при изменении случая, например:

 47 /universal/webselfservice/pdf/r60.pdf 26 /universal/webselfservice/pdf/R60.pdf 

Как я могу получить вывод cron в соответствии с поведением командной строки?

One Solution collect form web for “команды сортировки и uniq не работают, как ожидалось, когда выполняются cron”

Язык, используемый в cron, отличается от используемого в вашей интерактивной среде. У одного есть регистр без учета регистра, а другой нет.

Это означает, что в интерактивном режиме первая sort помещает / /universal/webselfservice/pdf/r60.pdf /universal/webselfservice/pdf/R60.pdf /universal/webselfservice/pdf/r60.pdf и /universal/webselfservice/pdf/R60.pdf рядом, поэтому uniq -i может их комбинировать. Но в локали, используемой cron, они не смежны и подсчитываются отдельно.

Есть два простых способа получить то, что вы хотите:

  1. укажите нечувствительный к регистру язык как переменную среды в файле crontab или
  2. add -f (или --ignore-case ) флаг для первого sort .
  • Уникальные линии, основанные на первом поле
  • Удалите повторяющиеся строки с помощью twist
  • Использование номеров в файле A для получения уникального идентификатора из файла B на основе порядка, указанного в файле A
  • Найти дубликаты по столбцу в файле
  • В чем разница между «sort -u» и «sort | уник»?
  • Комбинация uniq и agrep?
  • Uniq не удалит дубликат
  • `uniq` не в режиме реального времени, когда
  • Unix - подсчет уникальных IP-адресов, сортировка их по частоте и сортировка по IP, когда количество повторений одинаково
  • Отображение имен файлов с помощью grep
  • Помощь с модификацией команды
  • Linux и Unix - лучшая ОС в мире.