Borrar todos los caracteres que no sean números de una variable:
$solonumeros =~ s/[^0-9]//gref.: Expresiones Regulares
$solonumeros =~ s/[^0-9]//gref.: Expresiones Regulares
Lo tengo en un archivo usb-bck.bat en el USB y lo ejecuto para hacer o actualizar la copia de seguridad al ordenador donde este conectada la memoria.
echo off
cls
echo.
echo ---------------------------------------
echo Programeja .bat que hace una
echo copia de usb/TS al disco duro c:
echo ---------------------------------------
echo (c)by pp))2010
echo.
set usb=%CD:~0,2%
echo.
echo -------------------Comprueba-el-disco-----
dir %usb%
echo ------------------------------------------
echo.
echo Haciendo copia de seguridad de %usb:~0,1%:\ a C:\USB-BCK
pause
xcopy usb:~0,1%:\ C:\USB-BCK\ /D /E /H /Y /K
echo.
echo Copia terminada ...!!!
pause
exit
SELECT campo1 LEFT(campo2,15), campo3 ... FROM tablaname; SELECT campo1 RIGHT(campo2,15), campo3 ... FROM tablaname;
awk '1{print $1, $2, ... $n}'
awk -F'\t' '{ print $3 }'
#!/bin/bash
if grep -q textoabuscar archivo
then
echo "texto esta en el fichero"
else
echo "texto NO esta en el fichero"
fi
exit 0
Una pregunta frecuente que deben responder las bases de datos es: “¿qué tan a menudo aparece en la tabla un cierto tipo de dato?” Por ejemplo, se podría querer averiguar la cantidad de mascotas de que se dispone, o cuantas mascotas tiene cada propietario, o varios otros recuentos sobre los animales.
Contar la cantidad total de animales es la misma pregunta que “¿cuántos registros hay en la tabla pet
?”, ya que hay un registro por mascota. COUNT(*)
cuenta el número de filas, por ello, la consulta para contar animales luce así:
mysql> SELECT COUNT(*) FROM pet;
+----------+
| COUNT(*) |
+----------+
| 9 |
+----------+
Anteriormente se recuperaban los nombres de la gente que poseía mascotas. Se puede usar COUNT()
para hallar cuantas mascotas tiene cada propietario:
mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;
+--------+----------+
| owner | COUNT(*) |
+--------+----------+
| Benny | 2 |
| Diane | 2 |
| Gwen | 3 |
| Harold | 2 |
+--------+----------+
Observe el uso de GROUP BY
para agrupar todos los registros de cada propietario. Sin dicha cláusula, todo lo que se hubiera obtenido sería un mensaje de error:
mysql> SELECT owner, COUNT(*) FROM pet;
ERROR 1140 (42000): Mixing of GROUP columns (MIN(),MAX(),
COUNT(),...)
with no GROUP columns is illegal if there is no GROUP BY clause
COUNT()
y GROUP BY
son útiles para presentar datos en varias formas. Los siguientes ejemplos muestran diferentes operaciones:
Cantidad de animales por especies:
mysql> SELECT species, COUNT(*) FROM pet GROUP BY species;
+---------+----------+
| species | COUNT(*) |
+---------+----------+
| bird | 2 |
| cat | 2 |
| dog | 3 |
| hamster | 1 |
| snake | 1 |
+---------+----------+
Cantidad de animales por sexo:
mysql> SELECT sex, COUNT(*) FROM pet GROUP BY sex;
+------+----------+
| sex | COUNT(*) |
+------+----------+
| NULL | 1 |
| f | 4 |
| m | 4 |
+------+----------+
(En esta salida, NULL
indica "sexo desconocido")
Cantidad de animales por combinación de especies y sexo:
mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY
species, sex;
+---------+------+----------+
| species | sex | COUNT(*) |
+---------+------+----------+
| bird | NULL | 1 |
| bird | f | 1 |
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
| hamster | f | 1 |
| snake | m | 1 |
+---------+------+----------+
No es necesario examinar una tabla entera cuando se emplea COUNT()
. Por ejemplo, la consulta anterior, se podria limitar a perros y gatos de esta manera:
mysql> SELECT species, sex, COUNT(*) FROM pet
-> WHERE species = 'dog' OR species = 'cat'
-> GROUP BY species, sex;
+---------+------+----------+
| species | sex | COUNT(*) |
+---------+------+----------+
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
+---------+------+----------+
O si desea la cantidad de animales de cada sexo contando solamente los que tienen sexo conocido:
mysql> SELECT species, sex, COUNT(*) FROM pet
-> WHERE sex IS NOT NULL
-> GROUP BY species, sex;
+---------+------+----------+
| species | sex | COUNT(*) |
+---------+------+----------+
| bird | f | 1 |
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
| hamster | f | 1 |
| snake | m | 1 |
+---------+------+----------+
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.
#!/bin/bashRef:
#####################################################
# (C)by pp 2010 for www.misnotaslinux.blogspot.com #
#####################################################
for TIPO in http socks4 socks5
do
eval ${TIPO}_TXT=1
echo "---------------"
echo "http_TXT="$http_TXT
echo "socks4_TXT="$socks4_TXT
echo "socks5_TXT="$socks5_TXT
http_TXT="" ; socks4_TXT="" ; socks5_TXT=""
done
echo "---------------"
exit 0
mysl -u [usename] -D [databasename] -p(pasword) -e "mysql_commands;"
mysql> select INET_ATON('100.100.100.100');+------------------------------+
| INET_ATON('100.100.100.100') |
+------------------------------+
| 1684300900 |
+------------------------------+
1 row in set (0.00 sec)
mysql> select INET_NTOA(1684300900);
+-----------------------+
| INET_NTOA(1684300900) |
+-----------------------+
| 100.100.100.100 |
+-----------------------+
1 row in set (0.00 sec)
8.8.8.8
8.8.4.4
# dig @8.8.8.8 www.google.comy el dig-algodón no engaña
...
;; Query time: 339 msec
# dig @80.58.61.250 www.google.com
...
;; Query time: 53 msec
d7c6faec22bac62e6ca0ec6bc29a462e
Size: 256 MB (268632064 bytes)41d2cf9a3f03b067c97b7576eef0d856
Size: 228 MB (239527936 bytes)cf6ef8f345d4ef259de8f69002529026
Size: 217 MB (228560896 bytes)Signal | Description | |
SIGHUP | On hangup | |
SIGINT | On interrupt | |
SIGQUIT | On Quit key | |
SIGILL | Illegal instruction | |
SIGTRAP | Trap instruction | |
SIGABRT | Abort message | |
SIGIOT | Input/output transfer | |
SIGBUS | Bus error | |
SIGFPE | Floating-point error | |
SIGKILL | Kill signal from system | |
SIGUSR1 | User defined | |
SIGSEGV | Segmentation violation | |
SIGUSR2 | User defined | |
SIGPIPE | Pipe fault (broken pipe) | |
SIGALRM | Alarm | |
SIGTERM | Termination | |
SIGSTKFLT | Stack fault | |
SIGchLD | Signal from child | |
SIGCONT | Continuing a stopped process | |
SIGSTOP | Stopping a process | |
SIGTSTP | Stopping a process from terminal | |
SIGTTIN | Stopping a process reading from controlling terminal | |
SIGTTOU | Stopping a process writing to controlling terminal | |
SIGURG | Urgent condition | |
SIGXCPU | Excessive CPU limits reached | |
SIGXFSZ | Excessive file size limits reached | |
SIGVTALRM | Virtual interval timer expired | |
SIGPROF | Profiling interval timer expired | |
SIGWINch | Window size changed by background process | |
SIGIO | Asynchronous I/O | |
SIGPWR | Power failure | |
SIGUNUSED | Unused |
# 0, 1, 2, 3, 4, 5, 6, 7, 8 my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);