Quiero aplicar este comando sed

sed '/begin 644/,$d' file1.txt > file1.txt

A todos los archivos del directorio ... básicamente quiero mantener el mismo nombre pero eliminar todas las líneas después de encontrar una determinada cadena ... ¿cómo puedo ajustar este comando sed para que se aplique a todos los archivos de texto (.txt) en la carpeta y conservar sus nombres originales?

EDITAR: Estoy usando Mac OS X, no sé si hay algún problema con el comando sed ...

Si trato de hacer

sed -i '/begin 644/,$d' *.txt

Obtengo un error sed: 1: bandera incorrecta en el comando sustituto: 'x'

2da EDICIÓN: ¡La respuesta de Anu funciona!

2
adrCoder 19 feb. 2015 a las 23:09

2 respuestas

Puede usar la opción editar en el lugar sed y el selector de estrella así

sed -i '/begin 644/,$d' *.txt
1
ShaneQful 19 feb. 2015 a las 20:19

Simplemente use la versión local de sed como

sed -i '/begin 644/,$d' file1.txt
2
unxnut 19 feb. 2015 a las 20:11