В порядке уменьшающейся скорости (в системе GNU в локали UTF-8 и на входе ASCII) согласно моим тестам:
grep '.\{80\}' file
perl -nle 'print if length$_>79' file
awk 'length>79' file
sed -n '/.\{80\}/p' file
За исключением perl
¹ один (или для awk
/grep
/sed
реализации (как mawk
или busybox), которые не поддерживают многобайтовые символы), который считает длину с точки зрения количества символов (согласно LC_CTYPE
установка локали) вместо байтов.
Если будут байты во входе, которые не являются частью допустимых символов (который происходит иногда, когда набор символов локали является UTF-8, и вход находится в другом кодировании), то в зависимости от решения и реализации инструмента, те байты или рассчитают как 1 символ, или 0 или не соответствие .
.
Например, строка, которая состоит из 30 a
s 0x80 байтов, 30 b
s, 0x81 байт и 30 UTF-8 é
s (закодированный как 0xc3 0xa9), в локали UTF-8 не соответствовал бы .\{80\}
с GNU grep
/sed
(поскольку те автономные 0x80 байтов не соответствуют .
), имел бы длину 30+1+30+1+2*30=122 с perl
или mawk
, 3*30=90 с gawk
.
Если Вы хотите рассчитать с точки зрения байтов, прикрепите локаль к C
с LC_ALL=C grep/awk/sed...
.
Это имело бы все 4 решения, полагают, что строка выше содержит 122 символа. Кроме perl
и инструменты GNU, у Вас все еще были бы потенциальные проблемы для строк, которые содержат символы NUL (0x0 байтов).
¹ perl
поведение может быть затронуто PERL_UNICODE
переменная среды, хотя
Мой родительский процесс умер по некоторым причинам. Это вызвало проблему. Я заботился об этом, и проблема была решена.
У Вас нет полномочий отправить этот сигнал. Если Вы имеете sudo
права, сделать sudo kill -SIGUSR1 $PPID
ps aux | grep $PPID
необходимо видеть как, какой пользователь, которого выполняет процесс. Если Вы не будете корнем, и этот proc работает как другой пользователь, чем себя, то у Вас, скорее всего, не будет полномочий отправить сигналы в него.
– replay
19.02.2013, 05:41
vysakhp 18563 0.0 0.0 90820 1772 ? S 08:50 0:00 sshd: vysakhp@pts/1 -bash-3.2$ whoami vysakhp
– vpillai
19.02.2013, 06:15