Если Вы скажете в JavaScript,
var thedate = new Date(1224043200000);
alert(thedate);
Вы будете видеть, что это - корректная дата, и можно использовать это где угодно в коде JavaScript с любой платформой.
sed
перебирает входной файл построчно, что означает, как я понимаю, то, что вы хотите, невозможно в sed
.
Вы можете использовать следующий сценарий Perl ( непроверенный ), хотя:
#!/usr/bin/perl
use strict;
use warnings;
{
local $/; # slurp mode
my $html = <>;
$html =~ s/ style='[^']*'//g;
print $html;
}
__END__
Один лайнер будет:
$ perl -e 'local $/; $_ = <>; s/ style=\047[^\047]*\047//g; print' fileA > fileB
Вы можете удалить все CR / LF с помощью tr
, запустить sed
, а затем импортировать в редактор, который автоматически форматирует.
Sed считывает входные данные построчно, поэтому выполнить обработку по одной строке непросто ... но это тоже возможно, вам нужно использовать ветвление sed. Следующее будет работать, я прокомментировал это, чтобы объяснить, что происходит (не самый читаемый синтаксис!):
sed "# if the line matches 'style='', then branch to label,
# otherwise process next line
/style='/b style
b
# the line contains 'style', try to do a replace
: style
s/ style='[^']*'//
# if the replace worked, then process next line
t
# otherwise append the next line to the pattern space and try again.
N
b style
" fileA > fileB
Вы можете попробовать следующее:
awk '/style/&&/exampleValue/{
gsub(/style.*exampleValue\047/,"")
}
/style/&&!/exampleValue/{
gsub(/style.* /,"")
f=1
}
f &&/exampleValue/{
gsub(/.*exampleValue\047 /,"")
f=0
}
1
' file
Вывод:
# more file
this is a line
style='text-align:center; color:blue; exampleStyle:exampleValue'
this is a line
blah
blah
style='text-align:center; color:blue;
exampleStyle:exampleValue' blah blah....
# ./test.sh
this is a line
this is a line
blah
blah
blah blah....
Другой способ выглядит так:
$ cat toreplace.txt
I want to make \
this into one line
I also want to \
merge this line
$ sed -e 'N;N;s/\\\n//g;P;D;' toreplace.txt
Вывод:
I want to make this into one line
I also want to merge this line
N
загружает другую строку, P
печатает пространство шаблона до первая новая строка, а D
удаляет пространство шаблонов до первой новой строки.