Как “-dc” работает у “кошки/dev/urandom | TR-dc” 01 дюйм?

Шаги, которые я сделал, находятся в комментариях ниже:

  # rename old file regardless of how messes up or not
  # it is using basename to get information needed 
      killfile="${pref}.${ext}"
  # copy old file name to a different file name
  # using the mv command
  # mv ${old file name.ext} ${oldfile name//search pattern/replace with] 
  # gives you a new file with what ever you named it
      mv "$killfile" "${killfile//*/killme.k}" 
  #the then just delete it
             rm "killme.k"

Путем выполнения его этот путь I, нашел, что система будет видеть его таким образом, это устранило мой файл, не добираясь no such file or directory error - то, что я добирался.

2
06.03.2015, 00:50
4 ответа

Я думаю, что самая большая проблема заключается в том, чтобы понять, что означает "дополнение" в описании варианта -c. Оно относится к дополнению как в теории множеств, читайте об этом в Википедии :

В теории множеств дополнение множества A относится к вещам, не входящим в (что A.

Дополнение набора 01 означает все символы, кроме 0 и 1. Таким образом, опция -d удалит все символы, которые не являются ни 0, ни 1.

7
27.01.2020, 21:50

Опция дополнения просто дает вам обратный набор из предоставленного вами набора. Таким образом, если вы дадите ему 01, то это повлияет на все, что не является символом 0 или 1 ASCII. А опция удаления удалит выбранный набор. То есть вы просто удалите все, что не является 0 или 1 ASCII символом.

Пожалуйста, поймите, что это только ASCII-символы из вывода /dev/urandom, но это не фактические двоичные значения, представляющие вывод всех символов в /dev/urandom.

1
27.01.2020, 21:50

-d означает удаление всех символов в SET1 и -c означает использование "дополнения" SET1. Комбинированное, это означает: удалить все символы, которые не находятся в SET1

, получается список символов, включающий 0 и 1, а tr -dc "01" удаляет все символы, которые не находятся в списке "01", отображая только 0s и 1s.

2
27.01.2020, 21:50

Ошибка вызвана тем, что все выходные данные перенаправляются в $ logfile , поэтому нет выходных данных для yad для обработки. Инструмент, который вы ищете, это tee :

NAME
       tee - read from standard input and write to standard output and files

SYNOPSIS
       tee [OPTION]... [FILE]...

DESCRIPTION
       Copy standard input to each FILE, and also to standard output.

Итак, вы можете сделать:

apt-get update 2>&1 | tee -a ${logfile} |
  yad --width=400 --height=300 \
    --title="Updating debian package list ..." --progress \
    --pulsate --text="Updating debian package list ..." \
    --auto-kill --auto-close \
    --percentage=10 
-121--87616-

jcbermu очень близко, но с мужской страницы nmap:

-sL (List Scan) .
       The list scan is a degenerate form of host discovery that simply lists each host of the network(s) specified, without sending any packets to the target hosts. By default, Nmap still does
       reverse-DNS resolution on the hosts to learn their names.

Если он хранится в записи rDNS, это найдет его, в противном случае вам может потребоваться прослушать просить DHCP и перехватить их.

-121--34640-

Если вы внимательно прочитали tr manual , вы можете легко объяснить команду.

Общая форма:

tr [option]... set1 [set2]

С помощью команды

tr -dc "01"

set1 содержит 0 и 1 . При использовании опции -c tr заменяет set1 дополнением, которое означает все символы, кроме 0 и 1 .

Таким образом, команду можно интерпретировать как Удалить все символы, кроме нуля и единицы .

1
27.01.2020, 21:50

Теги

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