Соответствие пустым строкам перед словом awk

chmod +x websiteтолько добавит флаг выполнения в каталог для всех пользователей, тем самым позволяя всем пользователям войти в каталог. Это не изменит разрешения на запись.

Я полагаю, что вы пытаетесь изменить файлы в этом каталоге, которые недоступны для записи непривилегированным пользователем. В этом случае вам нужно переключиться на пользователя root и повторить попытку.

Изменить :Почти наверняка бит выполнения уже был установлен для этого каталога, поэтому попытка отменить команду через chmod -x website, скорее всего, усугубит ситуацию.

1
30.08.2019, 08:12
6 ответов
$ awk '/^$|^Alignments/' input.txt | uniq

Alignments      747883433       76303046

Alignments      838333186       82982133

uniqследит за тем, чтобы не было более одной пустой строки до, после или между любыми Alignmentsстроками.

Вместо этого можно использовать

grep. или sed -n. или perl -n. например.

$ grep -E '^$|Alignments' input.txt | uniq
2
27.01.2020, 23:12

Вы можете использовать приведенный ниже Awkдля решения вашей проблемы. Сопоставьте пустую строку и посмотрите, начинается ли строка, начинающаяся с Alignments, сразу после этой

.
awk '!NF { line = NR; next } (NR = line + 1 ) && /^Alignments/{ printf "\n%s\n",$0; }' file
1
27.01.2020, 23:12

Почему бы нам не использовать grep?:

grep -A1 "^$" file | grep -B1 'Alignments' | grep -v -- "^--$"
2
27.01.2020, 23:12

Сэд отлично справляется с такими задачами. Сначала мы приклеиваем следующую строку к текущей, если текущая пуста. Затем опросите и распечатайте при соответствии набору критериев.

$ sed -ne '
    /./!N
    /^\nAlignments/p
' file.txt 
1
27.01.2020, 23:12

Использование GNU awk:

awk -v RS='\nAlignments[ 0-9]*' '{print RT}' file

Разделитель записей RSустанавливается равным ожидаемому совпадению и печатается для каждой записи с использованиемRT(признака конца записи ).

2
27.01.2020, 23:12

Пробовал использовать команду «Нижний», все работает нормально

awk '{a[++i]=$0}/Alignments/{for(x=NR-1;x<=NR;x++)print a[x]}' filename| sed -n '/^$/,+1p'

выход

Alignments      747883433       76303046

Alignments      838333186       82982133
0
27.01.2020, 23:12

Теги

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