Все другие ответы здесь являются большими, но если Вы используете Bash, нет никакой потребности использовать внешние программы, такие как awk, sed, grep, сократить и т.д.
Следующая строка сделает то, что Вы хотите:
{ read; read -r _ _ _ av _; } < <(df -h /dev/sda1)
"$av" будет доступным размером на/dev/sda1
Если Вы хотите использовать только числовую часть "$av" (например, 123 в 123G), можно использовать Расширение Параметра для обрезки несоответствующей части как этот:
ir="${av##*[0-9]}"; echo "${av%$ir}"
или просто "${av%?}"
если Вы уверены, что суффикс "$av" является только одной буквой.
Можно запустить yum для удаления elfutils-libelf
в зависимые пакеты, которые необходимо удалить, чтобы удалить elfutils-libelf.
Перед передачей содержимого файла в sed
можно развернуть оболочку:
sed -e "s/$(cat needle.txt)/replace/" subject.txt
Обратите внимание на использование двойных кавычек.
Это сделает sed
интерпретировать любые метасимволы regex из needle.txt
как метасимволы regex, а не обычные символы. Если needle.txt
содержит /
, он будет прерван.
Если вы хотите, чтобы строки needle.txt
интерпретировались буквально (даже если они содержат метасимволы regex, как в вашем примере), вы можете сделать что-то вроде:
perl -pe '
BEGIN{ local $/;
open $IN,"<","needle.txt";
$needle = <$IN>
}
s/\Q$needle/replace/
' subject.txt
Объяснение
-pe
означают применение кода, следующего за строкой, к строкам файла subsect.txt
и печати каждой строки BEGIN {}
выполняется только один раз. Он открывает файл needle.txt
и сохраняет все его содержимое в переменной $ eigle
. s/\Q $ eigle/replace/
- это тот же синтаксис, который вы ожидали от sed
, за исключением того, что \Q
заставляет регексный движок Perl рассматривать всё после него как фиксированную строку, а не как регекс. По умолчанию Fedora 20 устанавливает для этой цели gnome-software
. Не уверен, что это именно то, что вы ищете. Это графический интерфейс пользователя для управления и установки пакетов, но выглядит больше (или лучше сказать, хочет выглядеть как...) Приложение MacOSX. Это может быть или не быть вашим вкусом, но позволяет просматривать установленные и удаленные пакеты, а также идентифицирует доступные в настоящее время обновления для установленных пакетов.
Edit: gnome-software ориентирован на приложения (а не на пакеты), поэтому он может не показывать отдельные пакеты для веб-серверов, библиотек и т. д.
Apper , с другой стороны, делает. Чтобы установить Apper, просто запустите yum install apper
в качестве корня на терминале.
Вы можете установить Dnfdragora . Для меня это было как-то лучше, чем Synaptic Package Manager (, но название у него немного дрянное ).
Чтобы установить его, просто зайдите в Gnome Software, найдите «Dnfdragora» и установите его.
Вы также можете загрузить установочный файл RPM из здесь(в разделе «Загрузки» ), а затем установить его, дважды -щелкнув его (или открыв с помощью «Установки программного обеспечения» ).