Test String (10xX):
1 |
___XXXXX_____XXXXX_____ |
Test Cases Results must look like:
single char remove:
1 |
___XXXX_____XXXXX_____ |
single char replace:
1 |
___0XXXX_____XXXXX_____ |
string/multi char remove:
1 |
_____________ |
string/multi char replace:
1 |
___00000_____00000_____ |
Times:
run the test string from file 100000 times.
single char remove | single char replace | multi char remove | multi char replace | string remove | string replace | |
sed | 5.658s | 5.774s | 3.449s | 5.929s | 3.476s | 5.724s |
perl regex | 5.604s | 5.918s | 3.428s | 6.027s | 3.482s | 5.870s |
awk gsub | 3.469s | 5.892s | 3.339s | 5.942s | ||
tr bash | 5.972s | 5.897s | ||||
perl tr | Â 5.996s | Â 5.837s |
For bash its the easiest way to use sed because its simpler to use perl and it could do the most things or if you do simple things you could use tr.In perl you could see this benchmark.
SED 4.2.2
single char remove:
1 |
time cat bench.txt | sed 's/X//' |
single char replace:
1 |
time cat bench.txt | sed 's/X/0/' |
multi char remove:
1 |
time cat bench.txt | sed 's/X//g' |
multi char replace:
1 |
time cat bench.txt | sed 's/X/0/g' |
string remove:
1 |
time cat bench.txt | sed 's/XXXXX//g' |
string replace:
1 |
time cat bench.txt | sed 's/XXXXX/00000/g' |
AWK 4.0.1
single replace with regex not possible.
multi char remove:
1 |
time cat bench.txt | awk '{gsub("X","",$1);print $1;}' |
multi char replace:
1 |
time cat bench.txt | awk '{gsub("X","0",$1);print $1;}' |
string remove:
1 |
time cat bench.txt | awk '{gsub("XXXXX","",$1);print $1;}' |
string replace:
1 |
time cat bench.txt | awk '{gsub("XXXXX","00000",$1);print $1;}' |
TR 8.21
single replace and remove not possible.
multi char replace:
1 |
time cat bench.txt | tr "X" "0" |
string replace:
1 |
time cat bench.txt | tr "XXXXX" "00000" |
PERL REGEX 5
single char remove:
1 |
time cat bench.txt | perl -lpe 's/X//' |
single char replace:
1 |
time cat bench.txt | perl -lpe 's/X/0/' |
multi char remove:
1 |
time cat bench.txt | perl -lpe 's/X//g' |
multi char replace:
1 |
time cat bench.txt | perl -lpe 's/X/0/g' |
string remove:
1 |
time cat bench.txt | perl -lpe 's/XXXXX//g' |
string replace:
1 |
time cat bench.txt | perl -lpe 's/XXXXX/00000/g' |
PERL TR 5
multi char replace:
1 |
time cat bench.txt | perl -lpe 's/X/0/g' |
string replace:
1 |
time cat bench.txt | perl -lpe 's/XXXXX/00000/g' |
Goog article! Like )
Take for free trust base of forums with Pr from 1 to 9.
Download file(8 769 trust forums with PR and alexa rank )
Incrise your positions and get more trafic!!!
Good day I am so glad I found your site, I really found you by error,
while I was searching on Aol for something else, Regardless I am here now and would just like to say
kudos for a marvelous post and a all round thrilling blog (I
also love the theme/design), I don’t have time to look over it all at the minute but I have
bookmarked it and also included your RSS
feeds, so when I have time I will be back to read much more, Please do keep up the awesome job.