Lo que hago cuando copio cosas es:
tar c here/is/the/stuff | (cd /where/it/should/go; tar x)
Explicación :El primer tar
empaqueta a la salida estándar, esto se canaliza al segundo comando, que es un subshell (el (
lo inicia )que cambia de directorio y luego ejecuta el segundo tar
. Esto es bueno si quieres usar, p. finalización de archivos para nombres desordenados. O puede usar la opción -C
para cambiar el directorio antes de realizar la operación, como:
tar c here/is/the/stuff | tar -C /where/it/should/go -x
Я пробовал с помощью указанной ниже команды и работал нормально
sed 's/.*\["//g' filename| sed 's/`"\]//g'
выход
0.8693473380926441
100.40266203596555
23.338724857049048
0.25720321805387686
66.85236878385265
awk
для этого лучше:
awk -F '["`]' '{print $2}' file
Это устанавливает разделитель полей как "
или тильду, а затем печатает второй столбец/поле.
Выход:
0.8693473380926441
100.40266203596555
23.338724857049048
0.25720321805387686
66.85236878385265
Есть шанс, что кто-нибудь сможет ответить на вопрос в теме вместо примера. Я пытаюсь использовать awk, чтобы получить число в «[nnn]», и хотя awk -F'\[' '{print $2}' | awk -F'\]' '{print $1}’
работает, это выглядит ужасно. Я пробовал -F’[[]]’
и -F’[\[\]]’
, но ни один из них не работает
grep для того, что вы на самом деле хотите. То, что вы хотите от этого, это просто цифры. Вам нужны какие-то цифры, и точка, и какие-то цифры, так что:
egrep '[0-9]+\.[0-9]+' -o foo.txt
-o
говорит: «Печатать только совпадающую часть, а не всю строку».