| Author |
Message |
don570

Joined: 10 Mar 2010 Posts: 2473 Location: Ontario
|
Posted: Sat 09 Mar 2013, 15:47 Post subject:
|
|
It's possible to do stream editing (SED) on one line by using the semi-colon.
It might speed up the script as well.
| Code: |
sed -i "s%<b>%%g;" /tmp/report-video_
sed -i "s%</b>%%g" /tmp/report-video_
sed -i "s%<b>%%g;s%</b>%%g" /tmp/report-video_
|
|
|
Back to top
|
|
 |
Argolance

Joined: 06 Jan 2008 Posts: 1381 Location: PORT-BRILLET (Mayenne - France)
|
Posted: Sat 09 Mar 2013, 17:14 Post subject:
|
|
Hello don570,
Yes, it is much better! This is the way we learn, little by little... Thank you! I will have to revise most of the scripts I made, because since the first one, I learnt many small tricks like this one: for sure, they will be less heavy and faster!
Cordialement.
|
|
Back to top
|
|
 |
Argolance

Joined: 06 Jan 2008 Posts: 1381 Location: PORT-BRILLET (Mayenne - France)
|
Posted: Sat 16 Mar 2013, 11:33 Post subject:
|
|
Bonjour,
Following the code lines above, I replaced: | Code: | func () {
sed -i "s%<b>%%g" /tmp/report-video_
sed -i "s%</b>%%g" /tmp/report-video_
sed -i "s%millimeters%$(gettext 'millimeters')%g" /tmp/report-video_
sed -i "s%planes%$(gettext 'planes')%g" /tmp/report-video_
sed -i "s%pixels%$(gettext 'pixels')%g" /tmp/report-video_
}
export -f func
sed -i "s%millimeters%$(gettext 'millimeters')%g" /tmp/report-video
sed -i "s%planes%$(gettext 'planes')%g" /tmp/report-video
sed -i "s%pixels%$(gettext 'pixels')%g" /tmp/report-video |
with: | Code: | func () {
sed -i "s%<b>%%g";"s%</b>%%g";"s%millimeters%$(gettext 'millimeters')%g";"s%planes%$(gettext 'planes')%g";"s%pixels%$(gettext 'pixels')%g" /tmp/report-video_
}
export -f func
sed -i "s%millimeters%$(gettext 'millimeters')%g";"s%planes%$(gettext 'planes')%g";"s%pixels%$(gettext 'pixels')%g" /tmp/report-video
| And I got:
| Quote: | sed: no input files
/usr/sbin/2P_report-video: line 127: s%planes%niveaux%g: command not found
/usr/sbin/2P_report-video: line 127: s%pixels%pixels%g: command not found
sed: no input files
sh: line 1: s%</b>%%g: No such file or directory
sh: line 2: s%millimeters%millimètres%g: command not found
sh: line 3: s%planes%niveaux%g: command not found
sh: line 4: s%pixels%pixels%g: command not found
EXIT="OK"
Script completed hit RETURN to close window. |
Cordialement.
|
|
Back to top
|
|
 |
L18L
Joined: 19 Jun 2010 Posts: 1722 Location: Burghaslach, Germany
|
Posted: Sat 16 Mar 2013, 11:42 Post subject:
|
|
| Argolance wrote: | | ...Following the code lines above, I replaced:.. |
Pas "tres" exactement ...
|
|
Back to top
|
|
 |
amigo
Joined: 02 Apr 2007 Posts: 1759
|
Posted: Sat 16 Mar 2013, 11:44 Post subject:
|
|
The syntax is like this:
| Code: | sed -i -e '....' -e '...' filename
|
or:
| Code: | sed -i -e '....' \
-e '...' \
-e '...' filename
|
|
|
Back to top
|
|
 |
L18L
Joined: 19 Jun 2010 Posts: 1722 Location: Burghaslach, Germany
|
Posted: Sat 16 Mar 2013, 11:54 Post subject:
|
|
or: | Quote: | | sed -i -e "....;...;..." filename |
|
|
Back to top
|
|
 |
Argolance

Joined: 06 Jan 2008 Posts: 1381 Location: PORT-BRILLET (Mayenne - France)
|
Posted: Sat 16 Mar 2013, 13:01 Post subject:
|
|
| Quote: | | Pas "tres" exactement ... | Pas exactement du tout! Sorry! | Code: | func () {
sed -i "s%<b>%%g;s%</b>%%g;s%millimeters%$(gettext 'millimeters')%g;s%planes%$(gettext 'planes')%g;s%pixels%$(gettext 'pixels')%g" /tmp/report-video_
}
export -f func
sed -i "s%millimeters%$(gettext 'millimeters')%g;s%planes%$(gettext 'planes')%g;s%pixels%$(gettext 'pixels')%g" /tmp/report-video |
As we are used to say in French: "I had no eyes in front of holes"
This is very much better this way!
Thank you!
Cordialement.
|
|
Back to top
|
|
 |
|