15 Dec
2005
15 Dec
'05
08:38
Hallo Michael, Michael Hoeller, 13.12.2005 23:49:
ich muss aus eine sequenziell nummerierten Datei Zeilen löschen, wie kann ich die Nummerierung wiederherstellen. Ich habe mich mit awk versucht, leider erfolglos.
Mit bash (die zu modifizierende Date als Parameter eingeben): ---- cut here ---- #!/bin/bash newfile="$1.renumbered" # Remove a possible existing target file rm "$newfile" 2> /dev/null # Extract the counter status of the first line declare -i count=`sed -n '1,1s/^.\{5\}\(.\{10\}\).*/\1/p' "$1"` while read line ; do echo "$line" | sed "s/\(^.\{5\}\)\(.\{10\}\)\(.*\)/\1`printf "%.10d" "$count"`\3/" >> "$newfile" let count=count+1 done < "$1" ---- cute here ---- Gruß Kimmo