разделить строку с определенным символом, чтобы сформировать путь

У меня есть строка abc_d_e75_f10_xyz_l_11. Я хочу разделить ее, чтобы построить строку из существующего каталога из этой строки до cd.

Так что в этом примере abc_d_e75_f10_xyz_l_11 я хочу разделить, используя символ _, где я хочу написать эту команду cd /home/userA/abc/d_e75_f10 и пренебречь остальной частью строки.

1
задан 29 September 2014 в 20:33

3 ответа

Можно сделать:

echo "abc_d_e75_f10_xyz_l_11" | sed 's/_/\//' | cut -d "_" -f1-3

Это заменит первое _ /, а также обрежет строку.

Вывод:

abc/d_e75_f10

0
ответ дан 29 September 2014 в 20:33

Можно использовать встроенные возможности обработки строк оболочки удара, например,

$ var="abc_d_e75_f10_xyz_l_11"
$ echo "/home/userA/${var/_//}"
/home/userA/abc/d_e75_f10_xyz_l_11
0
ответ дан 29 September 2014 в 20:33

Вы хотите sed.

sed инструмент для выполнения поиска и операций замены на тексте.

В этом случае кажется, что Вы хотите заменить первое вхождение _ с /.

Это сделает это: echo "abc_d_e75_f10_xyz_l_11" | sed "s/_/\//"

Это выглядит странным с наклонными чертами, но идея "s/search/replace/". И / должен быть оставлен.

0
ответ дан 29 September 2014 в 20:33

Другие вопросы по тегам:

Похожие вопросы: