Основная проблема в том, что вы сбежали >
и |
, и я подозреваю, что вы используете GNU sed
. В этом случае \>
действует как конец границы слова, а \|
— как оператор чередования.
$ sed 's/>ref|\(NC_03578[0-9]\.1\)|.*/>\1/' chr.test
>NC_035781.1
>NC_035782.1
>NC_035783.1
>NC_035784.1
Измененная команда показана выше. Кроме того, кажется, что в конце строки есть пробелы, поэтому я добавил .*
, чтобы удалить их. Используйте sed -n '/NC_/ s/>ref|\(NC_03578[0-9]\.1\)|.*/>\1/p'
, чтобы включить операцию grep
в сам sed
Вы также можете использоватьawk
$ awk -F'|' '/NC_/{print ">" $2}' chr.test
>NC_035781.1
>NC_035782.1
>NC_035783.1
>NC_035784.1
-F'|'
, чтобы определить |
как разделитель полей. |
является оператором регулярного выражения, но когдаFS
(специальная переменная awk разделителя полей, установленная -F
), является одним символом, она не рассматривается как регулярное выражение. -F'[|]'
или -F'\\|'
также будут работать, но менее эффективны. /NC_/
, если строка ввода содержит NC_
print ">" $2
напечатать >
символ и второе поле Один из способов заключается в том, чтобы сделать панель фоновой.
$ minikube dashboard --url &
[1] 356972
Затем используйте прокси kubectl
для прослушивания всех адресов,
kubectl proxy --address=0.0.0.0 --accept-hosts='.*'