LINUX.ORG.RU

Поиск и удаления начальных символов

 ,


0

2

Здравствуйте, нужна ваша помощь с поиском и удалением начальных символов. Есть некий файл с номерами телефонов, мне нужно найти номера и вырезать первые два символа, например, есть номер 381234567890 = 123456789. Пробовал sed , sed -r 's/([0-9]{12})//g' text.txt , получилось найти и удалить, не пойму как можно вырезать первые два символа в найденом номере.


sed 's/^..//'
Deleted
()
Ответ на: комментарий от Zmicier

Файл , имеет следующую структуру:

12:23:38  381234567890  34  test@mail.com
13:34:22  381234567891  45  test1@mail.com
13:35:22    381234567892        32 test2@mail.com
...
Проблема в том , что файл не имеет четкой структуры (отступы разные).

B_U_G
() автор топика

за тобой уже выехали

anonymous
()
Ответ на: комментарий от B_U_G

Проблема в том , что файл не имеет четкой структуры

Странно, а я вижу вполне четкую структуру.

(отступы разные).

И они значимые, их надо сохранить? Если нет, то, очевидно как-то так:

#!/usr/bin/gawk -E

BEGIN {
    OFS = "\t";
}

$2 ~ /[0-9]{12}/ {
    $2 = substr ($2, 3);
    print;
}

{
    print;
}
Zmicier ★★★★★
()

echo '12345678' | cut -c 2- такой принцип

sin-ok
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.