LINUX.ORG.RU

замена символов ^@ в файле через regexp


0

0

Помогите мне надо заменить всё символы в файле, которые в mc показываються как ^@ на !
Что значит ^@ знак табуляции или что?
как через regexp найти ^@

А программу я уже придумал

#!/usr/bin/perl
$file=$ARGV[0];
open (F, $file);
$str;
while(<F>){
$str=$str.$_;
}
$str=~s/^@/!/g;

open STDOUT, "> $file";
print $str;

★★

Я узнал, что в ASCII коде ^@ это \000

теперь остаётся поменять все \000 на !
но как?

arum ★★
() автор топика
Ответ на: комментарий от arum

Я хотел написать, но как это сделать через sed, в perle работает,
но нужно долго ждать, файл большой

пробовал
sed 's/\000/!/g' file_name
не работает

пробовал
sed 's/\^@/!/g' file_name
не работает

как правильно?

arum ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.