WiFi не работает после обновления с 14.04 по 16.04. Адаптер RT3290

Если у вас есть 2-3 огромных pdf (или epub или других форматов, читайте ниже) файлы для сравнения, тогда можно объединить мощность:

калибр (чтобы преобразовать ваш источник в текст ) meld (для визуального поиска различий между текстовыми файлами) параллельно (для использования всех ваших системных ядер для ускорения)

Ниже сценария принимают в качестве входного файла любой из следующих форматов файлов: MOBI, LIT, PRC , EPUB, ODT, HTML, CBR, CBZ, RTF, TXT, PDF и LRS.

Если не установлено, установите meld, caliber и parallel:

#install packages
sudo apt-get -y install meld calibre parallel

в состоянии выполнить код из любого места на вашем компьютере, сохраните следующий код в файле с именем «diffepub» (без расширений) внутри каталога «/ usr / local / bin».

usage="
*** usage:

diffepub - compare text in two files. Valid format for input files are:
MOBI, LIT, PRC, EPUB, ODT, HTML, CBR, CBZ, RTF, TXT, PDF and LRS.

diffepub -h | FILE1 FILE2

-h print this message

Example:
diffepub my_file1.pdf my_file2.pdf
diffepub my_file1.epub my_file2.epub

v0.2 (added parallel and 3 files processing)
"

#parse command line options
while getopts "h" OPTIONS ; do
  case ${OPTIONS} in
    h|-help) echo "${usage}"; exit;;
  esac
done
shift $(($OPTIND - 1))

#check if first 2 command line arguments are files
if [ -z "$1" ] || [ -z "$2" ] || [ ! -f "$1" ] || [ ! -f "$2" ]
then
  echo "ERROR: input files do not exist."
  echo
  echo "$usage"
  exit
fi



#create temporary files (first & last 10 characters of
# input files w/o extension)
file1=`basename "$1" | sed -r -e '
s/\..*$//                     #strip file extension
s/(^.{1,10}).*(.{10})/\1__\2/ #take first-last 10 chars
s/$/_XXX.txt/                 #add tmp file extension
'`
TMPFILE1=$(mktemp --tmpdir "$file1")

file2=`basename "$2" | sed -r -e '
s/\..*$//                     #strip file extension
s/(^.{1,10}).*(.{10})/\1__\2/ #take first-last 10 chars
s/$/_XXX.txt/                 #add tmp file extension
'`
TMPFILE2=$(mktemp --tmpdir "$file2")

if [ "$#" -gt 2 ] 
then
  file3=`basename "$3" | sed -r -e '
  s/\..*$//                     #strip file extension
  s/(^.{1,10}).*(.{10})/\1__\2/ #take first-last 10 chars
  s/$/_XXX.txt/                 #add tmp file extension
  '`
  TMPFILE3=$(mktemp --tmpdir "$file3")
fi

#convert to txt and compare using meld
doit(){ #to solve __space__ between filenames and parallel
  ebook-convert $1
}
export -f doit
if [ "$#" -gt 2 ] 
then
  (parallel doit ::: "$1 $TMPFILE1" \
                     "$2 $TMPFILE2" \
                     "$3 $TMPFILE3" ) &&
  (meld "$TMPFILE1" "$TMPFILE2" "$TMPFILE3")
else
  (parallel doit ::: "$1 $TMPFILE1" \
                     "$2 $TMPFILE2" ) &&
  (meld "$TMPFILE1" "$TMPFILE2")
fi

Убедитесь, что владелец - ваш пользователь, и у него есть разрешения на выполнение:

sudo chown $USER:$USER /usr/local/bin/diffepub
sudo chmod 700 /usr/local/bin/diffepub

Чтобы проверить его, просто введите:

diffepub FILE1 FILE2

Я тестирую его, чтобы сравнить 2 версии +1600 страниц pdf, и он отлично работает. Поскольку калибр написан с использованием python для переносимости, потребовалось 10 минут для преобразования обоих файлов в текст. Медленный, но надежный.

1
задан 13 April 2017 в 15:24

1 ответ

При распаковке файла tar.gz используйте «tar -xvzf» вместо «taf -xvf». «-z» указывает tar на чтение или запись архивов через gzip, позволяя tar напрямую работать с несколькими видами сжатых архивов прозрачно. Эта опция должна использоваться, например, при работе с файлами с расширением .tar.gz. " (источник: http://www.computerhope.com/unix/utar.htm)

0
ответ дан 23 May 2018 в 10:46
  • 1
    Это сообщение об ошибке, которое я получаю, когда я попробовал ваше решение. & gt; gzpin: stdin: не в формате gzip & gt; tar: статус возврата ребенка 1 & gt; Ошибка не восстанавливается. Выход сейчас. – Space 26 May 2016 в 13:49

Другие вопросы по тегам:

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