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
mmm así,
shellroot@alex-laptop:~/Escritorio$ ls | grep PoC > PoC.txt
shellroot@alex-laptop:~/Escritorio$
PoC.txt
PoC.cpp
PoC.php
PoC.txt
Se debe a que no haya lo que buscas, además de que con ">" estás truncando el contenido del archivo.
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$
#!/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.
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 >.
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
alguienn???
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$
@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.
Entonces estoy perdido, que se explique mejor.
Seh, es algo así, pero ahí si no se como hacedlo en bash. XD
#!/usr/bin/python
import os
#Ejecución de comandos
sFile = 'PoC.txt'
os.system("ls -lia | grep 343 >" , sFile)
Algo así.
Esto es lo básico, esto incluye que cuando insertas un parametro lo busca
#!/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