Пожалуйста, рассмотрите этот фрагмент:
X=$(grep -m1 'some-pattern' some-file | sed -n 's/.* //p')
Я хочу поместить последнее слово в переменную, если какое-либо условие шаблона соответствует строкам в произвольном текстовом файле.
Моя проблема в том, что переменная X
имеет CR или LF или CRLF в конце, в зависимости от исходного файла, от которого я хочу избавиться, поскольку это мешает дальнейшей работе, которую я собираюсь сделать.
Я даже попробовал что-то вроде:
X=$(grep -m1 'some-pattern' some-file | sed -n 's/.* \([A-Za-z]\+\)/\1/p')
таким образом ожидая, что sed
вывод будет ограничен, [A-Za-z]+
но все еще есть эти байты неприятности внутри переменной X.
Как я могу избавиться от этого, не используя слишком много кода, например, посмотреть, какие байты находятся в конце, xxd
затем cut
он и подобные сложности?
X