Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: CrÄsH en 26 Octubre 2010, 04:03 AM

Título: duda grep fichero shellscript linux
Publicado por: CrÄsH en 26 Octubre 2010, 04:03 AM
Buenas!

Tengo un fichero($SALIDA) lleno en el que me gustaria hacerle grep A $SALIDA > $SALIDA
Al hacer esto me queda el fichero vacio. Como se haria correctamente?

Gracias
Título: Re: duda grep fichero shellscript linux
Publicado por: Shell Root en 26 Octubre 2010, 04:24 AM
mmm así,
Código (bash) [Seleccionar]
shellroot@alex-laptop:~/Escritorio$ ls | grep PoC > PoC.txt
shellroot@alex-laptop:~/Escritorio$


PoC.txt
Código (PoC) [Seleccionar]
PoC.cpp
PoC.php
PoC.txt
Título: Re: duda grep fichero shellscript linux
Publicado por: leogtz en 26 Octubre 2010, 06:34 AM
Se debe a que no haya lo que buscas, además de que con ">" estás truncando el contenido del archivo.

Código (bash) [Seleccionar]
leo@leo-desktop:~/Escritorio$ cat file.txt
Leonardo
Gutierrez
Ramirez
c++
leo@leo-desktop:~/Escritorio$ cat file.txt | grep -i "^c+.*$"
c++
leo@leo-desktop:~/Escritorio$ cat file.txt | grep -i "^c+.*$" >> "file.txt"
leo@leo-desktop:~/Escritorio$ cat file.txt
Leonardo
Gutierrez
Ramirez
c++
c++
leo@leo-desktop:~/Escritorio$


Código (bash) [Seleccionar]

#!/usr/bin/bash
exec 6>&1
exec > "salida.txt"
cat "file.txt" | grep -i "c++"
exec 1>&6 6>&-
cat "file.txt"
exit 0


Perfecto, quisiera que se pusieran más dudas sobre shell script, así practicamos todos este maravilloso lenguaje.
Título: Re: duda grep fichero shellscript linux
Publicado por: CrÄsH en 26 Octubre 2010, 13:11 PM
Gracias por vuestras respuestas pero no es eso lo que intentava hacer.
Lo que quiero es modificar el mismo archivo al que se hace el grep.

ALgun idea?

pD: Leo Gutiérrez tu codigo es un buen ejemplo de lo que quiero hacer, pero en lugar de >> quiero >.
Título: Re: duda grep fichero shellscript linux
Publicado por: CrÄsH en 27 Octubre 2010, 00:36 AM
Buenas

Me gustaria hacer esto:

VAR= '> log.txt'

ls -lia | grep 343 $VAR


Creo que lo que esta mal es  la asignacion a VAR, como irian las comillas??


Gracias
Título: Re: duda grep fichero shellscript linux
Publicado por: CrÄsH en 27 Octubre 2010, 22:16 PM
alguienn???
Título: Re: duda grep fichero shellscript linux
Publicado por: leogtz en 28 Octubre 2010, 01:33 AM
A ver, si tengo un archivo con el siguiente contenido:

leo@leo-desktop:~/Escritorio$ cat file.txt
Leo
perro
gato
bash
c++
perl

leo@leo-desktop:~/Escritorio$


y hago:

leo@leo-desktop:~/Escritorio$ grep -i "bash" file.txt > file.txt
leo@leo-desktop:~/Escritorio$ cat file.txt
leo@leo-desktop:~/Escritorio$



Se pierde el contenido, por lo que tienes que hacer:

leo@leo-desktop:~/Escritorio$ cat file.txt
Leo
perro
gato
bash
c++
perl

leo@leo-desktop:~/Escritorio$ sed -ni "/bash/p" file.txt
leo@leo-desktop:~/Escritorio$ cat file.txt
bash
leo@leo-desktop:~/Escritorio$
Título: Re: duda grep fichero shellscript linux
Publicado por: Shell Root en 28 Octubre 2010, 01:36 AM
@Leo WTF! Creo que lo que necesita es una variable con el nombre del archivo, al que se va a volcar el contenido del ls -lia.
Título: Re: duda grep fichero shellscript linux
Publicado por: leogtz en 28 Octubre 2010, 01:44 AM
Entonces estoy perdido, que se explique mejor.
Título: Re: duda grep fichero shellscript linux
Publicado por: Shell Root en 28 Octubre 2010, 01:54 AM
Seh, es algo así, pero ahí si no se como hacedlo en bash. XD

Código (python) [Seleccionar]
#!/usr/bin/python
import os

#Ejecución de comandos
sFile = 'PoC.txt'
os.system("ls -lia | grep 343 >" , sFile)


Algo así.
Título: Re: duda grep fichero shellscript linux
Publicado por: Afsoon en 6 Noviembre 2010, 11:47 AM
Esto es lo básico, esto incluye que cuando insertas un parametro lo busca

Código (bash) [Seleccionar]

#!/bin/bash

archivo="$1"

ls -lia | grep 343 $archivo

cat $archivo



Es muy básico falta que detecte parametros vacios y ya está, nose si lo habras solucionado pero por si acaso


./archivovariable text
grep: text: No existe el archivo o directorio
cat: text: No existe el archivo o directorio