Как отрезать от 1-го символа до -7 символов в awk?

У меня есть файл с несколькими строками.

Какой второй столбец является user_id , но последние семь чисел являются случайными числами.

Его нужно обрезать, чтобы получить аутентичный идентификатор.

Поэтому мне нужно получить 1st character to the -7 character второго столбца каждой строки.

Я искал функцию substr awk, похоже, не может обрабатывать эту работу напрямую.

Итак, как отрезать от 1-го символа до -7 символов в awk?

2 Solutions collect form web for “Как отрезать от 1-го символа до -7 символов в awk?”

 awk '{ print substr($2,1,length($2)-7) }' 

Если длина ($ 2) <= 7, вы не получите выход. Должна ли быть минимальная длина? Если это так, вы можете определить функцию min () в awk:

 awk 'function min(a,b){return a<b?b:a} ..<rest of code>..' 

Предполагая, что операции необходимо выполнить во втором столбце (обрезать последние 7 символов):

[whatever command you use to open your file] | awk '{ print $2 }' | rev | cut -c 8- | rev

Вот разбивка:

awk '{ print $2 }' Получает второй столбец файла

rev готовит строку (меняет ее). Я не думаю, что cut может удалить последние N символов, поэтому эта вещь удаляет первые N символов из инвертированной строки.

cut -c 8- Удаляет первые 7 символов из строки. (обнаружено методом проб и ошибок, требуется проверка)

rev обращает обработанную строку. Это отображает исходную строку, но без 7-символьной вещи.

  • OSX: удалить все соответствующие сертификаты по командной строке
  • awk для обработки строк с нулями по столбцам
  • соответствие строки awk из 2 столбцов
  • Как разбить текстовый файл на записи с помощью первого непустого символа с помощью awk и распечатать только записи, содержащие строку
  • Как обновить даты (на 30 дней) в файлах, идущих в это конкретное место в unix?
  • Добавить или удалить символ в указанном месте в файле
  • Формат вывода Mysql в сценарии Bash
  • Существуют ли awk-версии, которые обеспечивают синтаксис для вычисления агрегатов?
  • Конкретная замена уровня столбца
  • Добавление запятых между элементами двоичной матрицы в текстовом файле
  • Как назначить одну переменную на слово строки
  • как установить переменную в несколько значений с помощью awk?
  • Linux и Unix - лучшая ОС в мире.