Чтобы обойти ограничение в 4 основных раздела, вы можете создать расширенный раздел вместо основного раздела, а затем разделить его на четыре логических раздела (/
, /boot
, /swap
и/home
).
Кроме того, в установщике CentOS выберите параметр для повторного -форматирования этих разделов (, кроме свопа, конечно ). Это решило проблему для меня, когда у меня было такое же сообщение об ошибке.
for i in $(foo); do echo -e "$i \c"; head -n10 $i | grep -c regex; done
напечатает имена файлов из сценария foo
, за которыми следует число. Если число равно нулю, то совпадения regex
нет, и эти нулевые записи в результате можно легко отфильтровать, если они не нужны.
Как было сказано, решить половину проблемы:
foo | xargs grep -m 1 regex
Для решения остальных требуется немного больше скриптов:
foo | xargs sh -c 'for file; do head "$file"; done | grep regex' sh
Но это не дает вам имен файлов, потому что grep читает поток.
Если у вас GNU awk:
foo | xargs gawk -v pattern='regex' -v lines=10 -v OFS=':' '
$0 ~ pattern {print FILENAME, FNR, $0}
FNR == lines {nextfile}
'
Чтобы просто получить имя файла
$0 ~ pattern {print FILENAME; nextfile}
Модифицированная версия ответа Гленна Джекмана , которая выводит имена файлов:
foo | xargs sh -c 'for file; do head "$file" | grep -l --label="$file" regex; done' sh