1 2 3 4 5 |
@echo off for /f "tokens=1,2* delims=:" %%i in (' ipconfig ^| find "IP" ') do set dirip=%%j set dirip=%dirip:~1% echo %dirip% pause |
1 2 3 4 5 |
@echo off for /f "tokens=1,2* delims=:" %%i in (' ipconfig ^| find "IP" ') do set dirip=%%j set dirip=%dirip:~1% echo %dirip% pause |
El ejemplo que se presenta a continuación se puede adaptar a cualquier situación en que se requiera modificar los datos de un archivo. Ya que lo recorre linea por linea y cambia los parametros indicados, para este caso busca y cambia 2 valores en particular.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
@echo off set pal1-old=rojo set pal1-new=negro set pal2-old=casa set pal2-new=departamento set file=d:\texto.txt echo Muestro el Archivo de texto Original echo -------------------------------------- type %file% echo -------------------------------------- for /f "tokens=*" %%a in (%file%) do call :wri %%a type "%file%.bak" > "%file%" del /f /q /a "%file%.bak" echo. echo Muestro el Archivo ya modificado echo -------------------------------------- type %file% echo -------------------------------------- pause goto :eof :wri set lin=%* call set lin=%%lin:%pal1-old%=%pal1-new%%% call set lin=%%lin:%pal2-old%=%pal2-new%%% echo %lin%>>"%file%.bak" goto :eof |
Al ejecutar el script, mostrara por pantalla los siguiente :
Muestro el Archivo de texto Original
————————————–
Voy a pintar mi casa de color rojo para
que vean lo hermosa que se vera mi casa
de colo rojo. Un rojo bien oscuro
En esta linea tengo 2 colo rojo rojo
casa casa para probar cambio
————————————–
Muestro el Archivo ya modificado
————————————–
Voy a pintar mi departamento de color negro para
que vean lo hermosa que se vera mi departamento
de colo negro. Un negro bien oscuro
En esta linea tengo 2 colo negro negro
departamento departamento para probar cambio
————————————–
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
@echo off Setlocal EnableDelayedExpansion set desordenados=arbool sol casa dos uno tres indice anibal barometro liceo pep parranda call :ordenar %desordenados% echo.Desordenados:%desordenados% echo.Ordenados:%ordenados% pause goto :eof :ordenar for /f "tokens=*" %%a in ( ' ^(for %%_ in ^(%*^) do @echo.%%_^)^|sort ' ) do set ordenados=!ordenados!%%a goto :eof |
Al ejecutar el Scrip se obtiene el siguiente resultado :
Desordenados:arbool sol casa dos uno tres indice anibal barometro liceo pep parranda
Ordenados:anibal arbool barometro casa dos indice liceo parranda pep sol tres uno
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash ps -fea | grep -v grep | grep "vi prueba.sh" >/dev/null 2>&1 case "$?" in 0) echo "proceso esta en ejecucion" ;; 1) echo "proceso NO esta en ejecucion" ;; esac exit |
Script de bash, que nos permite añadir delante o al final de uno o varios archivos un texto que definamos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#!/bin/sh # # script de bash para renombrar uno o varios archivos añadiendo al inicio o # final del archivo un prefijo. # sh script.sh f 2014 log* -> Añade a todos los archivos que empiezan por # log el prefijo 2014 delante, quedando los # archivos 2014log... # # reemplazando la f por b, lo añade al final de archivo # # Comprobamos que recibamos tres parametros if [ $# -lt 3 ] ; then echo "usar: $0 [f|b] prefijo archivos..." echo "f=>delante|b->detras" echo exit 0 fi if [ "$1" = "f" ];then # cogemos el prefijo que añadiremos a cada archivo suffix=$2 shift;shift # Bucle que pasa por todos los archivos y les añade el prefijo indicado for file in $* do echo "Reemplazando ${file} -> $suffix$file" mv ${file} $suffix$file done fi if [ "$1" = "b" ];then # cogemos el prefijo que añadiremos a cada archivo suffix=$2 shift;shift # Bucle que pasa por todos los archivos y les añade el prefijo indicado for file in $* do echo "Reemplazando ${file} -> $file$suffix" mv ${file} $file$suffix done fi exit 0 |