Я попытался найти последнее вхождение в файле, используя sed. В HP-UX опция tac недоступна.
Например: Ниже приведены данные в файле,
A|2121212|666666666 | 2|01|2 |B|1111111111 |234234234 |00001148|
B|2014242|8888888888| 3|12|3 |B|22222222222 |45345345 |00001150|
C|4545456|4444444444| 4|31|4 |B|3333333333333 |4234234 |00001148|
Я пытаюсь:
cat $filename | sed 's/00001148/00001147/g'
Он меняется с 00001148 на 00001147 для обоих вхождений 00001148.
Мне нужно найти |00001148|
последнего вхождения и заменить другим номером. В настоящее время моя команда sed изменяет два экземпляра 00001148.
cat
полностью UUOC — бесполезное использованиеcat
.sed
прекрасно умеет читать файлы. - person Jonathan Leffler   schedule 08.10.2014tac
(вы не можете просто установить его?) существуют способы реверсирования файла, которые работают с меньшими файлами, которые помещаются в память, и другие, которые работают с большими файлами, которые не помещаются в памяти. - person Jonathan Leffler   schedule 08.10.2014