Как установить PyQT4 на FreeBSD?

Если у вас есть среда GNU, вот решение Rombust , которое печатает общие базовые имена, Использование GAWK (просто для смешивания):

find . -maxdepth 1 -type f -printf "%f\0" | 
  gawk 'BEGIN{RS="\0"} {sub(/\.[^.]+$/,""); if (length($0))printf("%s\0",$0)}' | 
  sort -z | uniq -zd | 
  tr '\000' '\n'

Это использует Найти с \ 0 (Nul) разграниченными именами файлов, Gawk с RS (Рекордный сепаратор) Установите на \ 0, чтобы соответствовать входу и A Sub (/ Regex /) , чтобы разделить расширение.

Команда TR отменяет разграничение Nul для печати на экран, опустите это для дальнейшей (безопасной) обработки имена файлов .

(Обычно я бы сделал что-то вроде , что бы ни было | Rev | Cut -D. -F2- | Rev | Сортировка , но Rev не делает Nul-delimited вход.

Если вы хотите ограничить его только файлами с помощью .ext или более конкретным шаблоном, вы можете использовать:

find . -maxdepth 1 -type f -name "*.*" -printf "%f\0" | ...

Первая опция выше только печатает общую базу, если вы хотите распечатать Фактические имена файлов:

find . -maxdepth 1 -type f -name "*.*" -printf "%f\0" |        
  gawk 'BEGIN{ RS="\0" } 
             { base=$0;sub(/\.[^.]+$/,"",base);seen[base][FNR]=$0} 
        END  { for (bb in seen) 
                 if (length(seen[bb])>1) 
                    for (ff in seen[bb]) printf("%s\0",seen[bb][ff])
              }' |    
  tr '\000' '\n'

(минимум GAWK V4.0, необходимый для многомерных массивов!)

Это использует массив (HASH) [] [] , чтобы кэш виден имена файлов, выявленные в базовом имени, Затем в конце его итерации на основе базовых имен в видны [BB] и распечатывают те, которые с более чем совпадают ( длиной (видно [BB])> 1 ).

0
29.12.2014, 12:01
1 ответ

Он в портах: /usr/ports/devel/py-qt4/. Или вы можете установить пакет pkg install devel/py-qt4.

Источник

1
28.01.2020, 02:51

Теги

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