El comando sed
del ejemplo 6 extrae solo el número de líneas de la salida wc -l
.
Está ejecutando wc -l
en$f
(el archivo propiedad de la ejecución del script que se pasó como argumento ). Esto normalmente produciría una salida como esta:
$ wc -l.bashrc
17.bashrc
Número de líneas en la columna 1 y nombre de archivo en la columna 2. El comando sed
toma solo el número de líneas de una manera bastante innecesaria.
$ wc -l.bashrc | sed 's/^\([0-9]*\).*$/\1/'
17
La declaración sed
's/^\([0-9]*\).*$/\1/'
hace lo siguiente:
^
-Coincide con el principio de la línea \([0-9]*\)
-Coincide con cualquier número ilimitadamente (El paréntesis escapado forma un grupo de captura).*
-Coincidir cualquier cosa ilimitadas veces $
-Coincide con el final de la línea \1
-Representa el contenido del primer grupo de captura. Esencialmente, esto es hacer coincidir cualquier línea que comience con un número y reemplazar la línea completa con el primer grupo de captura (el número ).
Gracias Stephen Kitt por recomendar esto:
$ wc -l <.bashrc
17
De lo contrario, usar cut
o awk
sería mejor para algo como esto:
$ wc -l.bashrc | cut -d' ' -f1
17
$ wc -l.bashrc | awk '{print $1}'
17
Одним словом; нет.
swap существует не просто так, и не зря. Кроме того, вы на самом деле не достигаете своей цели, (многократно )распаковывая. Вы эффективно делаете то, чего надеетесь избежать.
Честно. Реальное решение состоит в том, чтобы просто взять диск (pata )или взять тот, который у вас есть, и использовать его исключительно для подкачки. Подойдет почти любой диск , учитывая ваши требования к размеру. У вас должно быть не более 5-10 долларов инвестиций, если вам действительно пришлось купить его.:)
ХТХ