2016-10-21 2 views
0

Я хочу преобразовать файл в строку и выполнить некоторую обработку и снова вернуться к файлу в оболочке bash в Linux.файл в строку и строку в файл в bash

В основном, цель состоит в том, чтобы удалить новую строку '\n' по ';', которая не существует в файле и получить выигрыш файла, заменив ';' на '\n'. (; Это не существует в файле)

, когда я проверил файл с :set list в проверьте все символы в файле. я могу видеть $ в конце строки, и когда я бегу:

:%s/\n\;\g 

заменить это работает, но следующий

:%s/;/\n\g 

не работают, я могу видеть, характер ^@ вместо $ на новый линия.

Как это можно сделать в оболочке?

+2

Что делать ты имеешь в виду? Вы хотите прочитать содержимое целого файла, манипулировать этим концом в качестве нового файла? Лучше привести пример; и включить полный сценарий, который вы написали до сих пор. – GhostCat

ответ

1

Учитывая, что вы говорите о командной строке vim. Я очень сомневаюсь, когда вы сказали, что :%s/\n\;\g работает.

Для замены новой строки на ';' попробуйте: :%s/\n/;/g

Аналогичным образом ';' to newline try :%s/;/\r/g

Уточнить причину, почему следует использовать \rhere.

Использование %s является :%s/<string_to_be_replaced>/<string_to_be_replaced_with>/g.

1

Вы действительно говорите о оболочке или о vi? Если вы имеете в виде оболочки, самый простой способ заключается в использовании tr транслитерации отдельных символов:

Заменить все символы новой строки с запятой:

tr '\n' ';' <inputFile> outputFile 

Заменить все запятую с новой строкой:

tr ';' '\n' <inputFile> outputFile 
Смежные вопросы