Tu primer comando:
find /INTER/f/d/o/ -type f -name "test*.txt" -mtime +190 -exec mv /INTER/f/d/o/"test*.txt" /INTER_ARCHIVE/f/d/o/ {} \;
Aquí, asumo que querrá mover los archivos encontrados que coincidan con el patrón y que sean lo suficientemente antiguos. El bit de comando mv
tiene un formato incorrecto y debería verse como
-exec mv {} /some/destination/path \;
Es decir, "mover el archivo encontrado({}
)a algún destino".
No está claro al mirar el comando a dónde desea que se muevan los archivos, pero tal como lo escribió, está moviendo los archivos a los nombres de ruta encontrados. Esto falla ya que mv
intenta mover varios archivos a algo que no es un directorio.
En tu segundo comando,
find /INTER_ARCHIVE/f/d/o/ -type f -name "test*.txt" -mtime +400 -exec rm {};
simplemente no ha podido terminar el argumento de -exec
correctamente. El último bit debería verse como
-exec rm {} \;
o simplemente
-delete
si su implementación de find
lo admite.
Véase también " Entendiendo la opción -exec de `find`".
Вы можете сделать это с помощью sed:
cat logfile | sed -n -e 's/some_string: //p' | sed -n -e 's/ some_other_string//p'
$ cut -d' ' -f2 file
stuff_i_am_interested_in
stuff_i_am_interested_in
stuff_i_am_interested_in
stuff_i_am_interested_in
Если это не все, что вам нужно, отредактируйте свой вопрос, уточнив свои требования и предоставив более репрезентативную выборку входных/выходных данных.
Сgrep
:
grep -Po 'some_string: \K.*(?= some_other_string)' file
grep -Po '(?<=some_string: ).*(?= some_other_string)' file
Сsed
:
sed -n 's/some_string: \(.*\) some_other_string/\1/p' file
Если some_string
не в начале строки и some_other_string
не в конце строки, вы можете сделать:
sed -n 's/.*some_string: \(.*\) some_other_string.*/\1/p' file