Как удалить ^ M и исходные строки из текстового файла?

Это должна быть довольно стандартная задача для awk

awk 'NR==FNR {a[$1]++; next} $1 in a {$2="match"}1' File2 File1
Mg_134 match
Mg_560
2
02.01.2017, 14:41
2 ответа

Это \ r не ^ M . Самый простой способ сделать это:

tr -d '\n-\r' < file.

-d означает удаление, а \ n- \ r - это диапазон символов для tr uncation.

Обратите внимание, что этот код также удалит вхождения \ n , которым не предшествует " ^ M ".

-1
27.01.2020, 22:10

Это работает для вашего случая:

sed -i ':a;N;$!ba;s/\r\n//g' file.csv

От: Может ли sed заменить символы новой строки?

Или это one:

sed -e :a -e '/\r$/N; s/\r\n//; ta' file.csv

От: http://www.catonmat.net/blog/sed-one-liners-explained-part-one/

Обратите внимание, что вам не нужно использовать cat , и вы можете напрямую редактировать свой файл с помощью опции -i , если хотите.

3
27.01.2020, 22:10

Теги

Похожие вопросы