Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaÚltima revisiónAmbos lados, revisión siguiente |
es:howtos:general_admin:cli_constructs_and_useful_info [2019/02/07 19:53 (UTC)] – [Regular expressions] slackwarespanol | es:howtos:general_admin:cli_constructs_and_useful_info [2019/02/07 20:06 (UTC)] – [Sources] slackwarespanol |
---|
* Ejemplo: '' \ <[tT] he \> '' coincide con la palabra '' el '' o '' El ''. | * Ejemplo: '' \ <[tT] he \> '' coincide con la palabra '' el '' o '' El ''. |
* '' * '' coincide con cualquier número del carácter anterior o nada = ningún carácter. Ejemplo: '' [0-9] * '' que coincidirá con cualquier número de números. ''. * '' coincide con cualquier número de cualquier cosa. | * '' * '' coincide con cualquier número del carácter anterior o nada = ningún carácter. Ejemplo: '' [0-9] * '' que coincidirá con cualquier número de números. ''. * '' coincide con cualquier número de cualquier cosa. |
=== Extended regular expressions === | === Expresiones regulares extendidas === |
The following must be supported by the program for them to work. For example for grep you must run ''egrep'' or ''grep -E''. | |
* ''+'' matches any number of the previous character, like ''*'', but there must be at least one to match, so it will not match nothing or no character. | El programa debe admitir lo siguiente para que funcionen. Por ejemplo, para grep debe ejecutar '' egrep '' o '' grep -E ''. |
* ''?'' makes the previous character optional (it can be missing), and is matched at most once. | |
* ''(|)'' acts like an OR statement. Example: ''(it|her|this)'' matches any of those words. | * '' + '' coincide con cualquier número del carácter anterior, como '' * '', pero debe haber al menos uno para que coincida, por lo que no coincidirá con nada o ningún carácter. |
* ''a{3}'' matches ''aaa'' = 3 a's. | * ''? '' hace que el carácter anterior sea opcional (puede faltar), y se compara como máximo una vez. |
* ''a{4,8}'' matches an a at least 4 times and at max 8 times, so ''aaaa'', ''aaaaa'', ''aaaaaa'', ''aaaaaaa'', and ''aaaaaaaa''. | * '' (|) '' actúa como una declaración OR. Ejemplo: '' (it | her | this) '' coincide con cualquiera de esas palabras. |
* ''{0,}'' = ''*'' | * '' a {3} '' coincide con '' aaa '' = 3 a's. |
* ''{1,}'' = ''+'' | * '' a {4,8} '' coincide con a al menos 4 veces y como máximo 8 veces, por lo que '' aaaa '', '' aaaaa '', '' aaaaaa '', '' aaaaaaa '' y '' aaaaaaaa ''. |
* ''{,1}'' = ''?'' | * '' {0,} '' = '' * '' |
=== External Links === | * '' {1,} '' = '' + '' |
| * '' {, 1} '' = ''? '' |
| === Enlaces externos === |
* http://www.grymoire.com/Unix/Regular.html | * http://www.grymoire.com/Unix/Regular.html |
* http://www.regular-expressions.info/ | * http://www.regular-expressions.info/ |
==== Useful commands and info ==== | ==== Comandos útiles e información ==== |
=== stat === | === stat === |
Stat is the most accurate way to determine: | Stat es la forma más precisa de determinar: |
* File size in bytes: <code bash>stat -c '%s' file.txt</code> | * Tamaño del archivo en bytes:<code bash>stat -c '%s' file.txt</code> |
* File permissions in octal: <code bash>stat -c '%a' file.txt</code> | * Permisos de archivos en octal: <code bash>stat -c '%a' file.txt</code> |
=== awk variable defaults === | === awk variable por defecto === |
An important point is that awk variables are set to zero by default. This may cause problems in some situtations. Example: | Un punto importante es que las variables awk se establecen en cero de forma predeterminada. Esto puede causar problemas en algunas situaciones. Ejemplo: |
<code bash> | <code bash> |
echo -ne '-321\n-14\n-1\n-34\n-4\n' | awk 'BEGIN{max=""}{if ($1 > max) max=$1; if ($1 < min) min=$1;}END{print min"\t"max}' | echo -ne '-321\n-14\n-1\n-34\n-4\n' | awk 'BEGIN{max=""}{if ($1 > max) max=$1; if ($1 < min) min=$1;}END{print min"\t"max}' |
</code> | </code> |
This works properly because max is set to an empty string and thus has a lower value than any number. Try removing the BEGIN clause and see what happens. Also note that adding ''min=""'' to the BEGIN clause fails as well. | Esto funciona correctamente porque max se establece en una cadena vacía y, por lo tanto, tiene un valor más bajo que cualquier número. Intenta eliminar la cláusula BEGIN y ver qué pasa. También tenga en cuenta que la adición de '' min = "" '' a la cláusula BEGIN también falla. |
=== no data directory test === | |
You can use this to test if a directory contains no data. For example, it will say ''0'' if the directory only contains empty files and directories = no data. | === no hay prueba de directorio de datos === |
| |
| Puede usar esto para probar si un directorio no contiene datos. Por ejemplo, dirá '' 0 '' si el directorio solo contiene archivos vacíos y directorios = sin datos. |
<code bash> | <code bash> |
du -s directory | du -s directory |
</code> | </code> |
=== cmp === | === cmp === |
This can compare two files byte by byte, and can be more useful than checksums. For example, after you burn a CD/DVD, you can run: | Esto puede comparar dos archivos byte a byte, y puede ser más útil que las sumas de comprobación. Por ejemplo, después de grabar un CD / DVD, puede ejecutar: |
<code bash> | <code bash> |
cmp slackware.iso /dev/sr0 | cmp slackware.iso /dev/sr0 |
</code> | </code> |
It should say the following if the disk burned correctly: | Debe decir lo siguiente si el disco se quemó correctamente: |
<code bash> | <code bash> |
cmp: EOF on slackware.iso | cmp: EOF on slackware.iso |
</code> | </code> |
=== shell math === | === shell matemáticas === |
Remember that shell utilities like ''let'' and ''expr'' only do integer math. For floating point use either ''bc'' or ''awk''. | Recuerde que las utilidades de shell como '' let '' y '' expr '' solo hacen matemáticas enteras. Para el punto flotante, use '' bc '' o '' awk ''. |
=== shell GUI === | === shell GUI === |
There are numerous programs that allow you to create GUIs from a shell script. | Existen numerosos programas que le permiten crear GUI desde un script de shell. |
* [[http://xdialog.free.fr/|Xdialog is fully dialog compatible.]] | * [[http://xdialog.free.fr/|Xdialog is fully dialog compatible.]] |
* [[https://sites.google.com/site/easybashgui/home|A function library that increases shell GUI portability.]] | * [[https://sites.google.com/site/easybashgui/home|A function library that increases shell GUI portability.]] |
* [[http://code.google.com/p/gtkdialog/|Gtkdialog has advanced features for customized GUIs.]] | * [[http://code.google.com/p/gtkdialog/|Gtkdialog has advanced features for customized GUIs.]] |
=== External Links === | === Enlaces externos === |
* [[http://www.grymoire.com/Unix/|Guide to awk, bash, sed, find, and more]] | * [[http://www.grymoire.com/Unix/|Guide to awk, bash, sed, find, and more]] |
* [[http://www.tldp.org/LDP/abs/html/index.html|Advanced bash guide]] | * [[http://www.tldp.org/LDP/abs/html/index.html|Advanced bash guide]] |
<!-- * Originally written by [[wiki:user:xxx | User X]] --> | <!-- * Originally written by [[wiki:user:xxx | User X]] --> |
<!-- * Contributions by [[wiki:user:yyy | User Y]] --> | <!-- * Contributions by [[wiki:user:yyy | User Y]] --> |
* I quoted ''man comm'' | * Cité ''man comm'' |
* I used ''man grep'' for the regex section. | * Usé '' man grep '' para la sección de expresiones regulares. |
* Written by [[wiki:user:htexmexh|H_TeXMeX_H]] | * Escrito por [[wiki:user:htexmexh|H_TeXMeX_H]] |
| * Traducido por: [[wiki:user: slackwarespanol | Victor]] 2019/02/07 20:04 (UTC) |
<!-- Please do not modify anything below, except adding new tags.--> | <!-- Please do not modify anything below, except adding new tags.--> |
<!-- You must remove the tag-word "template" below before saving your new page --> | <!-- You must remove the tag-word "template" below before saving your new page --> |
{{tag>howtos software author_htexmexh}} | {{tag>howtos software author_htexmexh}} |