Con los siguientes pasos desabilitaremos o hablitaremos el soporte para IPv6 en Suse Linux Enterprise Server y en Opensuse 11.3
Para habilitar o deshabilitar:
1) Como super usuario ejecutamos el comando yast
2) Vamos a "Network Devices / Network Setting". En español se denomina "Dispositivos de Red / Ajustes de red"
3) En "Opciones Globales" marcamos o desmarcamos " Habilitar IPv6"
Será necesario reiniciar el server
Instalar el cliente de twitter Hotot en opensuse 11.3
Vamos a instalar el cliente de twitter Hotot. La instalación la realizaremos a partir del código fuente, usando mercurial para obtener una copia del repositorio. Este cliente esta basado en python por lo que las librerías están relacionadas con el mismo.
1) Instalar paquetes necesarios :
2) Instalar paquete python-keybinder requerido por el programay que no se encuentra en los repositorios de opensuse.Vamos a clonar el repositorio, hacer un make, instalarlo y luego refrescaremos las librerías:
PD: Nos indica Hawk (gracias por el aporte) que el paquete se puede encontrar en el repositorio de XFCE de opensuse. Podemos agregarlo a través de "repositorios de Software" en Yast en los repositorio de la comunidad. Para añadirlo a través de línea de comandos:
3) Ahora vamos a instalar el cliente propiamente dicho. Crearemos un clon del repositorio con mercurial y ejecutaremos el cliente:
En vez de ejecutarlo podríamos instalarlo (./install), pero no está recomendado por los creadores de hotot
1) Instalar paquetes necesarios :
sudo zypper in python-webkitgtk python-notify mercurial python-distutils-extra git gnome-common mercurial
2) Instalar paquete python-keybinder requerido por el programa
git clone http://github.com/engla/keybinder.git
cd keybinder/
./autogen.sh
./configure --prefix=/usr
make
sudo make install
sudo /sbin/ldconfig
PD: Nos indica Hawk (gracias por el aporte) que el paquete se puede encontrar en el repositorio de XFCE de opensuse. Podemos agregarlo a través de "repositorios de Software" en Yast en los repositorio de la comunidad. Para añadirlo a través de línea de comandos:
sudo zypper ar http://download.opensuse.org/repositories/X11:/xfce/openSUSE_11.3/ XFCE
sudo zypper in python-keybinder
3) Ahora vamos a instalar el cliente propiamente dicho. Crearemos un clon del repositorio con mercurial y ejecutaremos el cliente:
hg clone https://hotot.googlecode.com/hg/ hotot
cd hotot/
./hotot/hotot.py
En vez de ejecutarlo podríamos instalarlo (./install), pero no está recomendado por los creadores de hotot
Bash : script para comprobar la conexión con un servidor usando sonido
El siguiente código escrito en bash comprueba la conexión con un servidor. Si dicho servidor está vivo ( is alive!! ) no realiza ninguna salida. Si el servidor no responde a los pings (está caido) hará que suene un archivo de sonido (alarma).
Es útil para dejarlo en segundo plano y avisarnos si una maquina se ha caido. O bien para comprobar periódicamente si estamos conectados a internet (por ejemplo poniendo un host como www.google.es) de modo que si perdemos nuestra conexión local sonará la alarma.
Tiene dos tiempos configurables que indican que tiempo hay que esperar entre comprobación y comprobación.
Es útil para dejarlo en segundo plano y avisarnos si una maquina se ha caido. O bien para comprobar periódicamente si estamos conectados a internet (por ejemplo poniendo un host como www.google.es) de modo que si perdemos nuestra conexión local sonará la alarma.
Tiene dos tiempos configurables que indican que tiempo hay que esperar entre comprobación y comprobación.
#/bin/bash
#
# Copyright (C) 2010 dieguz2
# License: GNU GPL v3
# http://dieguz2.blogspot.com/
# Contributors: flipa_illo
# This script check if the hostname passed as argument responds ping probes. If host is down then plays a wav file.
# name: isalive.sh
# Usage: isalive.sh hostname
# Usage example: ./isalive.sh www.google.es
#Variables
sleeptime_all_ok=60 # time between ping probes when target host is alive
sleeptime_hostdown=180 # time between ping probes when target host is down
wavefile=/home/dieguz/Música/beep.wav
while true; do
comando=`ping -c 1 $1 2> /dev/null`
nofunciona=$?
#0 host exists and is alive
#1 host exists and is not alive
#2 host doesnt exists
if [ $nofunciona -eq 1 ] ; then
/usr/bin/playwave $wavefile &> /dev/null
sleeptime=$sleeptime_hostdown
else
if [ $nofunciona -eq 2 ] ; then
echo "unknown host"
exit 2;
else
sleeptime=$sleeptime_all_ok
fi
fi
sleep $sleeptime
done
Instalar SQLplus de Oracle en Linux ( Suse)
Vamos a instalar el sqlplus en linux estos pasos son validos tanto para OpenSuse como SUSE linux entreprise server (SLES) .
1) Instalar Oracle instant client siguiendo los pasos 1 y 2 (con la versión que necesitemos para nuestro SO de 32 o 64 bits):
2) Descargar el RPM de sqlplus podemos encontrarlas
Descargamos el archivo (en nuestro caso de 64 bits) : oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
3) Instalamos el paquete
4) Verificamos que se ha instalado y dónde
5) Añadimos la ruta a la libreria. podemos hacerlo de varias, yo he usado la opción C:
a) Definir la variable LD_LIBRARY_PATH a nivel de usuario, editando el archivo .bashrc
b) Definir la variable LD_LIBRARY_PATH a nivel de sistema editando el archivo /etc/profile.local:
c) Añadir una entrada al /etc/ld.so.conf.
Tras estos pasos tendremos instalado el instant client.
6) Opcionalmente podemos usar un archivo tnsnames.ora para poder usar alias de nuestras conexiones. Este archivo lo crearemos en /etc/tnsnames.ora si queremos que esté compartido por todos los usuarios. Opcionalmente, si queremos colocarlo en otra ubicación distinta tenemos que definir la variable de entorno NS_ADMIN con la ruta al tnsnames.ora. Para definir la variable podemos usar el archivo ~/.bashrc a nivel local para cada usuario o /etc/profile.local para todos.
La ruta del tnsnames.ora para un Oracle instalado (sin el instant client) $ORACLE_HOME\network\admin
Relacionado:
Conexion mediante alias : tnsnames.ora
Ejemplos de TNSNAMES.ORA y LISTENER.ORA
1) Instalar Oracle instant client siguiendo los pasos 1 y 2 (con la versión que necesitemos para nuestro SO de 32 o 64 bits):
http://dieguz2.blogspot.com/2010/10/instalacion-del-instant-client-de.html
2) Descargar el RPM de sqlplus podemos encontrarlas
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
Descargamos el archivo (en nuestro caso de 64 bits) : oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
3) Instalamos el paquete
sudo rpm -Uvh oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
4) Verificamos que se ha instalado y dónde
rpm -ql oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64
/usr/bin/sqlplus64
/usr/lib/oracle/11.2/client64/bin/sqlplus
/usr/lib/oracle/11.2/client64/lib/glogin.sql
/usr/lib/oracle/11.2/client64/lib/libsqlplus.so
/usr/lib/oracle/11.2/client64/lib/libsqlplusic.so
5) Añadimos la ruta a la libreria. podemos hacerlo de varias, yo he usado la opción C:
a) Definir la variable LD_LIBRARY_PATH a nivel de usuario, editando el archivo .bashrc
echo LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib/:$LD_LIBRARY_PATH >> ~/.bashrc
b) Definir la variable LD_LIBRARY_PATH a nivel de sistema editando el archivo /etc/profile.local:
sudo echo LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib/:$LD_LIBRARY_PATH >>/etc/profile.local
c) Añadir una entrada al /etc/ld.so.conf.
sudo echo /usr/lib/oracle/11.2/client64/lib/ > /etc/ld.so.conf.d/oracle.conf
sudo /sbin/ldconfig.
Tras estos pasos tendremos instalado el instant client.
6) Opcionalmente podemos usar un archivo tnsnames.ora para poder usar alias de nuestras conexiones. Este archivo lo crearemos en /etc/tnsnames.ora si queremos que esté compartido por todos los usuarios. Opcionalmente, si queremos colocarlo en otra ubicación distinta tenemos que definir la variable de entorno NS_ADMIN con la ruta al tnsnames.ora. Para definir la variable podemos usar el archivo ~/.bashrc a nivel local para cada usuario o /etc/profile.local para todos.
La ruta del tnsnames.ora para un Oracle instalado (sin el instant client) $ORACLE_HOME\network\admin
Relacionado:
Conexion mediante alias : tnsnames.ora
Ejemplos de TNSNAMES.ORA y LISTENER.ORA
Instalación del Oracle Instant Client y configuración de Oci8 en php y apache en Suse
Vamos a instalar el instant client de la version 11 de oracle en una máquina son Suse Linux Enterprise Server (SLES11) versión de 64 bits. Configuraremos ademas el módulo oci8 para que se cargue en php y en apache.
En la versión Enterprise necesitaremos tener algunos paquetes de desarrollo entre otros instalaremos los siguientes:
Cómo instalar SUSE Linux Enterprise SDK 11
En este caso no tenemos oracle instalado por lo que usaremos las librerías del oracle instant client para poder conectarnos a un oracle en remoto.
1- Descargar el instant client y el devel
La Version 11.2.0.2.0 tienes estas url
2- Instalar instant client de Oracle una vez descargados
(para ver los archivos y las rutas que nos harán falta para configurar oci8)
3-Obtener oci8, y descomprimir
4- configurar el modulo con la ruta del instant client ( /usr/lib/oracle/11.2/client64/lib )
6- Verificar que se ha instalado correctamente
7- Cambiar los permisos
8- Crear enlace simbólico
9- Editar archivo php.ini ( /etc/php5/apache2/php.ini ) para añadir el modulo oci (que debe estar bien instalado en /usr/lib64/php5/extensions ) o bien creamos el archivo
/etc/php5/conf.d/oci8.ini para que se cargue el modulo tanto en php como en linea de comandos. En ambos casos tenemos que añadir la linea extension=oci8.so. Optamos por la segunda opción:
11- todo deberia estar cargado y funcionando. Podemos verificar que esta todo correcto:
11.1 ejecutando phpinfo desde linea de comandos
11.2 Con phpinfo en una web (con el contenido )
11.3 Comprobando si hay errores en apache
Fuentes:
http://en.opensuse.org/SDB:Howto_build_oci8_extension_module_for_php
http://dieguz2.blogspot.com/2007/11/opensuse-oracle-php-y-apache-oci8.html
Relacionado:
http://dieguz2.blogspot.com/2007/11/conexion-mediantes-tnsnamesora.html
En la versión Enterprise necesitaremos tener algunos paquetes de desarrollo entre otros instalaremos los siguientes:
zypper in php5-devel autoconf php5-pearSi no están en los repositorios tendremos que instalar (sólo en la versión Enterprise, en opensuse estan por defecto) el SUSE Linux Enterprise SDK 11, más info aqui
Cómo instalar SUSE Linux Enterprise SDK 11
En este caso no tenemos oracle instalado por lo que usaremos las librerías del oracle instant client para poder conectarnos a un oracle en remoto.
1- Descargar el instant client y el devel
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
La Version 11.2.0.2.0 tienes estas url
http://download.oracle.com/otn/linux/instantclient/112020/oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
http://download.oracle.com/otn/linux/instantclient/112020/oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm
2- Instalar instant client de Oracle una vez descargados
rpm -Uvh oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
rpm -Uvh oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm
(para ver los archivos y las rutas que nos harán falta para configurar oci8)
rpm -ql oracle-instantclient11.2-basic-11.2.0.2.0
/usr/lib/oracle/11.2/client64/bin/adrci
/usr/lib/oracle/11.2/client64/bin/genezi
/usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1
/usr/lib/oracle/11.2/client64/lib/libnnz11.so
/usr/lib/oracle/11.2/client64/lib/libocci.so.11.1
/usr/lib/oracle/11.2/client64/lib/libociei.so
/usr/lib/oracle/11.2/client64/lib/libocijdbc11.so
/usr/lib/oracle/11.2/client64/lib/ojdbc5.jar
/usr/lib/oracle/11.2/client64/lib/ojdbc6.jar
/usr/lib/oracle/11.2/client64/lib/xstreams.jar
3-Obtener oci8, y descomprimir
wget http://pecl.php.net/get/oci8-1.4.3.tgz
tar -zxvf oci8-1.4.3.tgz
cd oci8-1.4.3/
4- configurar el modulo con la ruta del instant client ( /usr/lib/oracle/11.2/client64/lib )
phpize5- Instalar el paquete
./configure -with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib
sudo make install
6- Verificar que se ha instalado correctamente
ls -la /usr/lib64/php5/extensions/oci8.so
7- Cambiar los permisos
sudo chmod 644 /usr/lib64/php5/extensions/oci8.so
8- Crear enlace simbólico
sudo ln -s /usr/lib/oracle/11.2/client64/lib/libnnz11.so /usr/lib64/libnnz11.so
9- Editar archivo php.ini ( /etc/php5/apache2/php.ini ) para añadir el modulo oci (que debe estar bien instalado en /usr/lib64/php5/extensions ) o bien creamos el archivo
/etc/php5/conf.d/oci8.ini para que se cargue el modulo tanto en php como en linea de comandos. En ambos casos tenemos que añadir la linea extension=oci8.so. Optamos por la segunda opción:
echo extension=oci8.so > /etc/php5/conf.d/oci8.ini10- Reiniciar apache
rcapache2 restart
11- todo deberia estar cargado y funcionando. Podemos verificar que esta todo correcto:
11.1 ejecutando phpinfo desde linea de comandos
php -r "phpinfo();" | grep oci8
11.2 Con phpinfo en una web (con el contenido )
11.3 Comprobando si hay errores en apache
cat /var/log/apache2/error_log | grep 'oci8.so'
Fuentes:
http://en.opensuse.org/SDB:Howto_build_oci8_extension_module_for_php
http://dieguz2.blogspot.com/2007/11/opensuse-oracle-php-y-apache-oci8.html
Relacionado:
http://dieguz2.blogspot.com/2007/11/conexion-mediantes-tnsnamesora.html
Cómo instalar SUSE Linux Enterprise 11 SDK
En la distribución de SLES 11 no viene paquetes como php5-devel ( con el comando phpize ) . No están ni el dvd original ni tampoco en los repositorios. Para poder tener acceso a esos paquetes tenemos que instalar el SUSE Linux Enterprise SDK que contiene un conjunto de paquetes orientados a la programación en varios lenguajes (C, python, perl, java, php ..). Para una descripción más detallada ver descripcion SLES SDK.
Con los siguientes pasos vamos a instalar el SDK de novell en nuestro sistema de modo que podremos acceder a los paquetes usando zypper o yast.
1) Descargar el SDK. Desde la página de SUSE Linux Enterprise SDK podremos acceder a las diferentes isos del sdk. Concretamente yo bajare la 11.
Las versiones de la 11 para diferentes arquitecturas están aqui: isos sdk 11. Hay dos ISO (dvd1 y dvd2) por cada arquitectura, sólo nos hace falta el DVD1
IMPORTANTE: Debemos estar registrados en novell para poder descargarlo.Dicho usuario contraseña se nos solicitará para descargar
Si queremos usar wget debemos especificar el usuario y contraseña novell. Por ejemplo para descargar de la imagen x86 de 64 bits:
2) Instalación como root:
2.1) Ejecutamos Yast: yast
2.2) Dentro de yast ejecutamos Software/Add-on Products
2.3) En la parte de abajo pulsamos Añadir (o Alt d)
2.4) Seleccionamos Imagen Iso Local (o Alt m)
2.5) aqui buscamos el archivo iso que hemos descargado en el punto 1 y aceptamos los siguientes mensaje
Tras estos pasos deberíamos tener acceso a los paquetes de desarrollo que nos hacen falta. Podemos listar los repositorios desde yast o bien desde linea de comandos
Deberiamos tener un repositorio nuevo con el nombre de "SUSE-Linux-Enterprise-Software-Development-Kit-11_11-0"
Con los siguientes pasos vamos a instalar el SDK de novell en nuestro sistema de modo que podremos acceder a los paquetes usando zypper o yast.
1) Descargar el SDK. Desde la página de SUSE Linux Enterprise SDK podremos acceder a las diferentes isos del sdk. Concretamente yo bajare la 11.
Las versiones de la 11 para diferentes arquitecturas están aqui: isos sdk 11. Hay dos ISO (dvd1 y dvd2) por cada arquitectura, sólo nos hace falta el DVD1
IMPORTANTE: Debemos estar registrados en novell para poder descargarlo.Dicho usuario contraseña se nos solicitará para descargar
Si queremos usar wget debemos especificar el usuario y contraseña novell. Por ejemplo para descargar de la imagen x86 de 64 bits:
wget --http-user=USUARIOdeNOVELL --http-password=PASSWORDdeNovell http://cdn.novell.com/prot/fQKpDcAhPVY~/SLE-11-SDK-DVD-x86_64-GM-Media1.iso
2) Instalación como root:
2.1) Ejecutamos Yast: yast
2.2) Dentro de yast ejecutamos Software/Add-on Products
2.3) En la parte de abajo pulsamos Añadir (o Alt d)
2.4) Seleccionamos Imagen Iso Local (o Alt m)
2.5) aqui buscamos el archivo iso que hemos descargado en el punto 1 y aceptamos los siguientes mensaje
Tras estos pasos deberíamos tener acceso a los paquetes de desarrollo que nos hacen falta. Podemos listar los repositorios desde yast o bien desde linea de comandos
zypper lr
Deberiamos tener un repositorio nuevo con el nombre de "SUSE-Linux-Enterprise-Software-Development-Kit-11_11-0"
sftp sin ssh
La idea es configurar nuestro servidor ssh de modo que un usuario concreto tenga sftp pero no tenga shell remota (ssh). De este modo sólo permitiremos el uso de sftp y no de ssh.
Para conseguir que un usuario tenga sólo aceso a través de ftp una de las opciones es realizar lo siguiente:
1) Crear el usuario y el home:
En este último caso tendremos que instalarlo en nuestro sistema y configurar el archivo /etc/rssh.conf
Para conseguir que un usuario tenga sólo aceso a través de ftp una de las opciones es realizar lo siguiente:
1) Crear el usuario y el home:
useradd -m sftpuser2) Cambiar la contraseña:
passwd sftpuser3) Para evitar que pueda acceder por ssh o a través del ordenador podemos cambiarle la shell de entrada con este comando:
chsh -s /usr/lib/ssh/sftp-server sftpuserSi nuestra arquitectura es de 64 bits usaremos:
chsh -s /usr/lib64/ssh/sftp-server sftpuserTambién podríamos utilizar otra shell como rssh: http://www.pizzashack.org/rssh/.
En este último caso tendremos que instalarlo en nuestro sistema y configurar el archivo /etc/rssh.conf
Linux : comando cut , sort , wc y uniq para contar registros unicos en un archivo de texto
Partimos de un archivo de texto en el que los registros aparecen separados por comas (csv) o por tabuladores. Este archivo puede provenir de una exportación de una tabla de la base de datos y queremos verificar si está correcto dicho archivo. Para ello usaremos algunos comandos unix para verificar el número de registros, o si el número de valores únicos de una columna es correcto.
Los comandos que usaremos serán:
- comando wc
- comando sort
- comando cut
-comando uniq
Contar el número de filas en un archivo csv
Usaremos únicamente el comnado:
Que nos devolverá el número de filas
Contar el número de registros diferentes en un campo (similar a select count(distinct campo))
Suponemos que queremos ver cuantos registros diferentes del campo3 hay en archivo.csv (separador por tabuladores):
Si el archivo usase otro separador por ejemplo la coma ( , ) :
Tambien podemos suprimir el comnado uniq:
Los comandos que usaremos serán:
- comando wc
- comando sort
- comando cut
-comando uniq
Contar el número de filas en un archivo csv
Usaremos únicamente el comnado:
wc -l archivo.csv
Que nos devolverá el número de filas
Contar el número de registros diferentes en un campo (similar a select count(distinct campo))
Suponemos que queremos ver cuantos registros diferentes del campo3 hay en archivo.csv (separador por tabuladores):
cut -f 3 archivo.csv | sort | uniq | wc -l
Si el archivo usase otro separador por ejemplo la coma ( , ) :
cut -t, -f 3 archivo.csv | sort | uniq | wc -l
Tambien podemos suprimir el comnado uniq:
cut -t, -f 3 archivo.csv | sort -u | wc -l
Comando cut : selección de columnas en archivos
El comando cut permite seleccionar columnas o campos completos en un archivo estructurado ( con campos separados por algún delimitador). El delimitador por defecto de cut es el tabulador
Algunas de las opciones son:
Supongamos que tenemos el archivo (separado por tabuladores)
- Seleccionamos el segundo campo
- Seleccionamos los caracteres entre la posición 5 y 6
-Si el delimitador fuese una coma podríamos usar -d, o -d','
En el caso de usar conjuntamente ls y cut veremos que al tener un numero diferente de espacios en algunos campos (por ejemplo en el tamaño del archivo) no saldrán correctamente y algunas lineas saldrán en blanco.
En este caso es mejor optar por otros comandos por ejemplo usando awk:
Algunas de las opciones son:
-f permite seleccionar el campo que queremos ver
-d para cambiar el delimitador
-c seleccionar columnas
-s no muestra las lineas que no tienen el delimitador
Supongamos que tenemos el archivo (separado por tabuladores)
1 a 123
5 b 64
2 A 32
3 a 16
- Seleccionamos el segundo campo
cut -f 2 prueba.txt
a
b
A
a
- Seleccionamos los caracteres entre la posición 5 y 6
cut -c5-6 prueba.txt
12
64
32
16
-Si el delimitador fuese una coma podríamos usar -d, o -d','
cut -d, -f 3 prueba2.txt
123
64
32
16
En el caso de usar conjuntamente ls y cut veremos que al tener un numero diferente de espacios en algunos campos (por ejemplo en el tamaño del archivo) no saldrán correctamente y algunas lineas saldrán en blanco.
ls -la | cut -d' ' -f 5
En este caso es mejor optar por otros comandos por ejemplo usando awk:
ls -la | awk '{print $5 }'
Comando sort : ordenar lineas de texto de un archivo
El comando sort ordena las lineas de un archivo de texto según varios criterios, algunos de las opciones más útiles son:
Supongamos que tenemos el siguiente archivo ( cat > prueba.txt):
Los siguientes comandos dan las siguientes salidas:
- Ordenación por defecto
- Ordenación usando la tercera columna
- Orden usando la tercera columna y orden numérico
- Orden usando la segunda columna y orden inverso
-Si por ejemplo el archivo usase como separador la coma (,) la sintaxis sería:
-n utilizar ordenamiento numérico en lugar de alfanumérico (letras)
-r invertir orden
-f ignora mayúsculas y minúsculas
-k número ordenar usando la columna número
-t nuevoseparador usar como separador el nuevo separador en lugar del separador por defecto. ej -t, o -t","
-u suprime las lineas repetidas ( similar al comando uniq )
Supongamos que tenemos el siguiente archivo ( cat > prueba.txt):
1 a 123
5 b 64
2 A 32
3 a 16
Los siguientes comandos dan las siguientes salidas:
- Ordenación por defecto
sort prueba.txt
1 a 123
2 A 32
3 a 16
5 b 64
- Ordenación usando la tercera columna
sort -k3 prueba.txt
1 a 123
3 a 16
2 A 32
5 b 64
- Orden usando la tercera columna y orden numérico
sort -k3 -n prueba.txt
3 a 16
2 A 32
5 b 64
1 a 123
- Orden usando la segunda columna y orden inverso
sort -k2 -r prueba.txt
5 b 64
2 A 32
3 a 16
1 a 123
-Si por ejemplo el archivo usase como separador la coma (,) la sintaxis sería:
sort -t, -k3 -n prueba2.txt
3,a,16
2,A,32
5,b,64
1,a,123
Suscribirse a:
Entradas (Atom)
-
Está es un pequeño tutorial / guia que explica cómo crear un applet en Netbeans ( corriendo en Linux Opensuse). Para programar un applet en ...
-
Para poder insertar saltos de línea con el comando echo en linux se usa la siguiente sintaxis : echo -e "\n linea 1 \n linea 2 \n...
-
Para obtener una lista con los objetos bloqueados ejecucutados: select substr(a.os_user_name,1,8) "OS User" , substr(b.object_na...