Действительно ли возможно сделать zcat синтезируемый текст, даже если это является несжатым? [дубликат]

Я не вижу способа заставить его относиться ко всем командным строкам, но можно сделать замену на команду путем записи функции оболочки для каждой команды, для которой Вы хотели бы, чтобы замена произошла. Пример: для gcc Вы записали бы:

function gcc {
   local args=""
   local arg
   for arg in $@
   do
      case $arg in
         -mthreads) arg=-pthreads
      esac
      args="$args $arg"
   done
   command gcc $args
}
19
26.05.2014, 16:41
5 ответов
[1179863] Просто добавьте опцию [1180454]-f[1180455]. [12185](используйте [1180456]gzip -dcf[1180457] вместо [1180458]zcat -f[1180459], если ваш [1180460]zcat[1180461] не является GNU (или GNU-вычисленным, как в современных BSD) и знает только о файлах [1180462].Z[1180463]).[1179866].
25
27.01.2020, 19:44
[1180696] Чтобы добавить свое заключение из комментариев в качестве ответа, я думаю, что лучший способ совместимости - это использовать

$ /usr/bin/dscl localhost -read /Local/Default/Users/danielbeck | grep NFSHome
NFSHomeDirectory: /Users/danielbeck

Так же [1181020]zless[1181021] и [1181022]zgrep[1181023] делают это внутренне.[1180699].

2
27.01.2020, 19:44
[1179729] С помощью GNU [1180196] gzip[1180197] можно сделать [1180198]zcat файл 2> /dev/null || cat file[1180199]. Это не POSIX-стандарт и не работает на BSD [1180200]gzip[1180201], вам действительно нужно исправить свою систему так, чтобы все [1180202]gzip[1180203]ped файлы имели расширение [1180204].gz[1180205] (конечно обычные текстовые файлы могут иметь любое расширение, в том числе [1180206].gz[1180207]).[1179730].
5
27.01.2020, 19:44
[1179743] Альтернатива в Bash:
0
27.01.2020, 19:44
[1179739] Один портативный, простое предложение было бы использовать [1180230]zgrep[1180231] вместо [1180232]zcat[1180233], и просто использовать шаблон поиска, который соответствует каждой строке.
  • В отличие от [1180234]zcat[1180235], [1180236]zgrep[1180237] будет счастливо обрабатывать несжатые файлы. От man zgrep:
  • 10
    27.01.2020, 19:44

    Теги

    Похожие вопросы