У меня есть данные, что в форме, как этогоUnix вернулся телефонный номер, нужно форматировать
JSD4863 XXX-XX-XXXX DOE, JOHN C JR-II BISS CPSC BS INFO TECH 412/779-9445
Сво большой список, так что я сделал петлю, чтобы читать в определенных линиях. Похоже, что это
#!/bin/bash
for linePosition in {11..22}
do
holder=`sed -n "${linePosition}p" $1|awk '{print $12}'`
echo "$holder"
done
Он печатает номер 412/779-9445
. Работает для всех строк Тем не менее, меня интересуют только последние 4 числа (например, 9445
) Что я могу добавить в свой цикл, чтобы он ограничивал это? Я пробовал cut
, может быть, мой синтаксис был просто неправильным.
это дало пустые строки, а также. – onTheInternet
Я положил кучу строк в файл stuff.txt и запустил следующее: '' 'cat stuff.txt | sed -rn 's /.*- (. *) $/\ 1/p' | xargs echo''' –
Вы также можете добавить свой код целиком (читает только строки между 11 и 22): '' 'cat stuff.txt | sed -rn '11, 22s /.*- (. *) $/\ 1/p '| xargs echo''' –