Re: sed soll eine bestimmte anzahl von Zeichen löschen...
Michelle Konzack <linux4michelle@freenet.de> writes:
[...]
> ______ ( stdin ) _____________________________________________________
> /
> | -rwxr-xr-x 1 root 360 Sat May 15 17:35:21 2004 mutt.postinst
> | -rwxr-xr-x 1 root 135 Sat May 15 17:35:18 2004 libidn11.postinst
> | -rwxr-xr-x 1 root 395 Sat May 15 17:35:18 2004 libncursesw5.postinst
>
> <snip>
>
> | -rwxr-xr-x 1 root 5675 Sat May 03 20:31:07 2003 dpkg.postinst
> | -rwxr-xr-x 1 root 321 Sat May 03 20:31:04 2003 diff.postinst
> | -rwxr-xr-x 1 root 306 Sat May 03 20:31:03 2003 bash.postinst
> | -rwxr-xr-x 1 root 3976 Sat May 03 20:31:02 2003 base-files.postinst
> | -rwxr-xr-x 1 root 2252 Sat May 03 20:31:02 2003 base-passwd.postinst
> \______________________________________________________________________
>
> Na gut, das sieht gut aus...
> Nun will ich alles vom beginn bis zum "LEERZEICHEN" vor dem Monatstag
> entfernen...
Da du vermutlich ein GNU sed hast, kannst du mit der Option -r die
"extented regualar expressions" einschalten, womit:
... | sed -r 's/^.{34}//'
funktioniert.
Allerdings ist dies nicht optimal, da sich die Ausgabe von ls von
Rechner zu Rechner unterscheiden kann. Bei mir liefert diess z.B.:
...
173 2004-04-17 09:11 xsane.postinst
316 2004-03-20 11:50 xscreensaver-gl.postinst
1477 2004-03-20 11:50 xscreensaver.postinst
24179 2004-03-20 11:49 xserver-common.postinst
...
Hier zwei Alternativen:
$ find . -name \*.postinst -printf "%a %f\n"
$ stat --format "%z %n" *.postinst
Die Zeitformate unterscheiden sich (wie auch die zugehörigen
Formatkennzeichen, ist Unix nicht toll ;-), aber ansonsten könnte es
hilfreich sein.
Torsten
BTW: Beispiele funktionieren vermutlich auch nur mit den GNU-Versionen
der Tools.
Reply to: