У меня есть .txt-файл, в котором последний столбец содержит числовой шаблон после текста типа «Бейкер 2-13» или «Чарли 03-144». Я хотел бы удалить все цифры в конце строки и просто оставить Бейкера и Чарли. Я попытался выполнить команду sed в конце моего заявления awk, без успеха.sed delete trailing pattern цифр
sed -E 's/[0-9]{1,2}"-"[0-9]{1,3}$//'
Я попытался добавить пространство, и каретка вернулась к моей команде sed, но все равно не повезло.
sed -E 's/[0-9]{1,2}"-"[0-9]{1,3}\s\r$//'
Я также попытался это, но она работает только тогда, когда я повторяю образец текста, он не работает на каждой линии моего файла .txt
echo "CHARLIE 02-157" | sed -E 's/[0-9]*([0-9])+\-[0-9]*([0-9])+$//'
Есть идеи?
Есть ли только две колонки? Вы хотите, чтобы исходный файл был заменен или просто сбрасывали результаты в STDOUT? – sjsam
вот полный оператор: 'awk -F \ | '$ 7 ~/-OF | -AR/{print $ 7, $ 3, $ 4, $ 5}' qry_log.txt | sort -u | sed -E 's/[0-9] {1,2} - [0-9] {1,3} $ //' 'так четыре столбца, и он может заменить оригинал или вывод на новый файл. это не имеет большого значения в любом случае. –
Из четырех столбцов вы просто хотите отфильтровать имена в одиночку. а? – sjsam