[ОТВЕТИТЬ]
01.10.2015 14:30
OlegON
 
В общем, коллега обратился с вопросом, как можно вырезать перевод строки, оставив стандартный CR+LF? Суть - файл текстовый, который надо перенести в эксль. Причём, в некоторых полях есть CR, что сильно меняет итоговое. В Линуксе не проблема, но тут винда.
01.10.2015 14:39
baggio
 
в блокноте...
ctrl+h заменить "CR+LF" на "абракадабра"
ctrl+h заменить "CR" на ""
ctrl+h заменить "абракадабра" на "CR+LF"
01.10.2015 14:42
Ferus
 
Цитата:
OlegON В общем, коллега обратился с вопросом, как можно вырезать перевод строки, оставив стандартный CR+LF? Суть - файл текстовый, который надо перенести в эксль. Причём, в некоторых полях есть CR, что сильно меняет итоговое. В Линуксе не проблема, но тут винда.
Могу написать утилитку за полчасика, если очень нужно(если не для одного раза). Но только завтра к обеду время появится.
Задача как я понял, вырезать CR не трогая CRLF?
В итоге получим что-то типа convert.exe file.txt
01.10.2015 17:11
OlegON
 
Да, спасибо, теперь это теоретическая задача. Коллега спросил, я под виндой-то и спасовал... Он ушел вручную колбасить, а вопрос остался.

Поясню, речь идёт не о буквенном сочетании, а о переводе строки и возврате каретки. Без того, чтобы костыли писать винда это не умеет?
01.10.2015 17:18
grannie
 
Поиск с заменой в FAR'е и подобном? (Без нормального файлового менеджера под виндой всё равно делать нечего. А поставлять его в комплекте - "антимонопольщики" завоют)
01.10.2015 17:28
vdm
 
Если посчитать vbscript и/или powershell стандартной частью винды - то умеет. Но скрипт рисовать самостоятельно
01.10.2015 17:34
KirillHome
 
Notepad ++

Цитата:
In Extended, special character sequences will be interpreted as special characters such as newline characters. In this case, you can choose from:
\\ - Backslash character;
\t – TAB character;
\r – CR character;
\n – LF character;
\0 – NULL character;
\x## - Hexadecimal value (between 00 and FF);
\u#### - Extended hexadecimal value (between 0000 and FFFF, meant for Unicode characters);
\d### - Decimal value (between 000 and 255);
\o### - Octal value (between 000 and 377);
\b######## - Binary value (between 00000000 and 11111111).
01.10.2015 17:57
OlegON
 
О, а фар или ноут++ могут регекспы? Или как вырезать только одиночный cr?
01.10.2015 18:09
KirillHome
 
В Notepad++, к сожалению - либо Extended, либо Regular expression

Хотя, возможно я просто не понял Regular. В WiKi вроде бы указана работа и с Control characters

Цитата:
Control characters
\a
The BEL control character 0x07 (alarm).
\b
The BS control character 0x08 (backspace). This is only allowed inside a character class definition. Otherwise, this means "a word boundary".
\e
The ESC control character 0x1B.
\f
The FF control character 0x0C (form feed).
\n
The LF control character 0x0A (line feed). This is the regular end of line under Unix systems.
\r
The CR control character 0x0D (carriage return). This is part of the DOS/Windows end of line sequence CR-LF, and was the EOL character on Mac 9 and earlier. OSX and later versions use \n.
\R
Any newline character.
\t
The TAB control character 0x09 (tab, or hard tab, horizontal tab).
01.10.2015 18:16
OlegON
 
о, почему к сожалению? круто! получается надо было брать его в зубы и менять \r^\n на пробел
эээ, ну вроде того, как я написал - нельзя.
01.10.2015 18:22
KirillHome
 
Цитата:
OlegON о, почему к сожалению? круто! получается надо было брать его в зубы и менять \r^\n на пробел
эээ, ну вроде того, как я написал - нельзя.
Ну, когда я выбираю Extended - то \r находит и может заменить.
А вот когда выбираю Regular - то \r не находит.

Поэтому и "к сожалению" (хотя, скорее, я просто "не умею готовить" регулярки).
01.10.2015 18:29
twix
 
Вот похожий случай для блокнота++
01.10.2015 18:30
OlegON
 
Я постоянно путаюсь в синтаксисе, но там разные варианты, "$", например, найдет перенос строки, наверное.
01.10.2015 18:31
OlegON
 
о! за ссылку спасибо, отдам, чтобы потестил.
01.10.2015 18:34
KirillHome
 
Цитата:
twix Вот похожий случай для блокнота++
С Extended всё понятно (в два приёма).
Не понятно как использовать регулярные выражения (что бы в один приём всё сделать).
02.10.2015 00:12
grannie
 
Цитата:
OlegON О, а фар или ноут++ могут регекспы?
ФАР - да (правда, не помню, изначально или плагином)
02.10.2015 09:25
student
 
Цитата:
OlegON файл текстовый, который надо перенести в эксль
если есть эксель, то вероятнее всего есть и ворд :)
открыть им далее поиск с заменой - там есть пупочка - специальные символы - там найти что надо и поменять все одним махом и никаких регекспов
02.10.2015 09:56
OlegON
 
А как одним махом поменять с условием, что за CR не идет LF?
02.10.2015 10:03
student
 
Цитата:
OlegON А как одним махом поменять с условием, что за CR не идет LF?
одним - х\з - но можно сначала махнуть пару на что либо, потом остатки cr, а потом вернуть что либо взад
все равно это на мой взгляд быстрее будет чем сочинять и проверять условия
Опции темы


Часовой пояс GMT +3, время: 07:10.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.