Я решил, что могу просто проверить это, поэтому я запустил:
sudo mount -o remount,size=2800M /run
Работает как шарм:
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.8G 45M 2.7G 2% /run
Я немного заполнил его:
fallocate -l 1G /run/test.img
fallocate -l 1G /run/test2.img
fallocate -l 500M /run/test3.img
Результат:
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.8G 2.6G 208M 93% /run
Система все еще работает. Доступность свопа упала, что доказывает, что он использовался:
/ запустить
Общий объем подкачки уменьшается на взятый объем Автор / run
.
Я бы протестировал 10 ГБ на виртуальной машине, потому что я не знаю, откажется ли ядро от перемонтирования или будет просто непредвиденное поведение.
Я все еще ищу реальный ответ, но прагматический подход показал, что он работает.
Для первого:
grep -oP 'IBM/WebSphere/\K[0-9]\.[0-9]' file
Для второго:
grep -oP 'IBM/WebSphere/\K[0-9]\.[0-9].*java ' file
-P
активирует регулярные выражения Perl -o
печатает только совпадающую часть IBM / WebSphere / \ K
начало части до \ K
, которая очищает совпадающую переменную, так что это не будет частью того, что печатается [0-9] \. [0-9]
цифра, за которой следует точка, за которой следует еще одна цифра.
. * java
во втором, вы также хотите сопоставить до конца команды java (до java
, за которым следует пробел). ps -Aocomm= | sed -ne'/java$/s|.*/\([0-9]\.\)|\1|p'
Похоже, что там выводится ps
, но если да, то, вероятно, было ошибкой включать аргументы в команды, которые вы ищете. Это особенно верно, если вы grep
проверяете результаты, потому что шаблон поиска для . * Java. *
или чего-то еще, скорее всего, будет соответствовать grep
команда, которую вы выполняете.
К счастью, вы можете искать только comm =
, а также именовать и удалять эти результаты, как я сделал выше, который должен обрабатывать Выход 2 . Для первого:
ps -Aocomm= | sed -ne'/java$/s|.*/\([0-9]\..\).*|\1|p'
Если это не ps
, то это также работает:
sed 's|.*/\([0-9]\.[^ ]*\).*|\1|' <in
... для Выход 2 и ...
sed 's|.*/\([0-9]\..\).*|\1|' <in
.. .for Выход 1 ...
Использование grep
с PCRE ( -P
):
Первый:
$ grep -Po '/\K[[:digit:].]+(?=/)' file.txt
7.0
8.5
Второй:
$ grep -Po '/\K[[:digit:].]+/[^ ]+' file.txt
7.0/UpdateInstaller/java/jre/bin/java
8.5/AppServer/java_1.7_64/jre/bin/java
Для первого случая, / \ K [ [: digit:].] + (? = /)
получит числа в формате / xy /
, где x и y оба являются цифрами
/ \ K [[: digit: ].] + / [^] +
будет искать подстроку из / xy /
в пробел, который является нашей желаемой частью во втором случае
Сначала перечислите все установленные пакеты и их версии на компьютере, где вы пытаетесь создать «клон» из: rpm -qa >/tmp/rpm.list.txt
.
Затем скопируйте /tmp/rpm.list.txt
в систему, которую вы пытаетесь превратить в «клон» другой системы, и запустите zypper и передайте ему только что созданный список пакетов: zypper install $ (cat/tmp/rpm.list.txt)
(или куда бы вы ни поместили файл, содержащий список пакетов из
Другой способ (аналогично моему ответу в этом вопросе ):
printf 'string' | paste -d'\0' - infile > outfile
или:
printf string | cat - infile > outfile
или:
{ printf string; cat infile; } > outfile
-121--98861- Так как вы не описали , что вы хотите, но только показанные вход и выход 1 , существует очень много возможных ответов.
printf «7 .0\n8.5\n»
printf «7 .0/StartInstaller/java/jre/bin/java\n8.5/AppServer/java _ 1,7 _ 64/jre/bin/java\n»
Они имеют то преимущество, что даже не нужно читать входные данные.
Это становится немного хитрым, так как
grep -o «[0-9]. [0-9]» входдает выход
7.0
8.5
1.7
, поскольку он находит каждую цифру . последовательность цифр
,
и есть два из них на второй строке входа.
Но
grep -o «/[ 0-9]. [0-9 ]/» входдает выход
/7.0/
/8.5/
(каждая / цифра . цифра /
последовательность),
который может быть близок к желаемому, а затем
grep -o «/[ 0-9]\. [0-9 ]/» input | grep -o «[0-9]\. [0-9]»
дает результат
7,0
8.5
grep -o «[0-9]\. [0-9] [^] *» ввод
получает каждую последовательность непустых символов
начиная с цифры . цифра
.
1,7
не получает строку к себе
потому что он включен в строку 8 .5/...
.
____________
1 Пожалуйста, всегда включайте пример ввода и вывода
в ваших вопросах.
Но также описывают, как вы хотите получить от входа к выходу,
или вы получите глупые ответы.