Hallo, ich suche eine möglichkeit in alle datein in einem verzeichniss, und deren unterverzeichniss in die erste zeile einen satz zu schreiben. z.B. so sieht die datei jetzt aus: @ IN SOA ns.domain.de. email.domain.de. ( 2001120703 ; serial [yyyyMMddNN] 40000 ; refresh [6h] 7200 ; retry [2h] 604800 ; expire [1w] 86400) ; minimum [1d] und nachher sollte die datei so aussehen: $TTL 86400 @ IN SOA ns.domain.de. email.domain.de. ( 2001120703 ; serial [yyyyMMddNN] 40000 ; refresh [6h] 7200 ; retry [2h] 604800 ; expire [1w] 86400) ; minimum [1d] kennt da jemand eine möglich die für alle datein in einem verzeichniss zu automatisieren? danke, mario duve
Moin Mario, * Mario Duve schrieb am 11 Dec 2001:
ich suche eine möglichkeit in alle datein in einem verzeichniss, und deren unterverzeichniss in die erste zeile einen satz zu schreiben. z.B. so sieht die datei jetzt aus:
[...]
kennt da jemand eine möglich die für alle datein in einem verzeichniss zu automatisieren?
zeile='$TTL 86400' for file in *; do mv $file $file.alt ( echo $zeile cat $file.alt ) >> $file done Geht so aber nur, wenn in den Dateinamen keine Leerzeichen oder ähnliche Gemeinheiten vorkommen. Sonst evtl: ----- zeile-einschieben ------> #!/bin/bash zeile='$TTL 86400' file="$@" mv "$file" "${file}.alt" ( echo $zeile cat "${file}.alt" ) >> "$file" <----------------------------- find . -type f -exec zeile-einschieben {} }; Beides nicht ausprobiert... Gruß, Sebastian -- Do not meddle in the affairs of Wizards, for they are subtle and quick to anger. Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome) SuSE-Linux-Mailinglisten-FAQ: http://www.helms.sh/faq/
Sebastian Helms schrieb:
Moin Mario,
* Mario Duve schrieb am 11 Dec 2001:
ich suche eine möglichkeit in alle datein in einem verzeichniss, und deren unterverzeichniss in die erste zeile einen satz zu schreiben. z.B. so sieht die datei jetzt aus:
[...]
kennt da jemand eine möglich die für alle datein in einem verzeichniss zu automatisieren?
zeile='$TTL 86400' for file in *; do
mv $file $file.alt ( echo $zeile cat $file.alt ) >> $file
done
Geht so aber nur, wenn in den Dateinamen keine Leerzeichen oder ähnliche Gemeinheiten vorkommen.
das funktioniert super so! danke könnte man dabei noch eine option einfügen, das vorher überprüft wird ob $TTL 86400 schon vorhanden ist, das die zeile dann nicht eingefügt wird? gruss, mario duve
Moin Mario, * Mario Duve schrieb am 11 Dec 2001:
Sebastian Helms schrieb:
* Mario Duve schrieb am 11 Dec 2001:
ich suche eine möglichkeit in alle datein in einem verzeichniss, und deren unterverzeichniss in die erste zeile einen satz zu schreiben. z.B. so sieht die datei jetzt aus:
[...]
kennt da jemand eine möglich die für alle datein in einem verzeichniss zu automatisieren?
zeile='$TTL 86400' for file in *; do
if grep -v -F "$zeile" "$file"; then
mv $file $file.alt ( echo $zeile cat $file.alt ) >> $file
fi
done
das funktioniert super so! danke könnte man dabei noch eine option einfügen, das vorher überprüft wird ob $TTL 86400 schon vorhanden ist, das die zeile dann nicht eingefügt wird?
s.o. Gruß, Sebastian -- Do not meddle in the affairs of Wizards, for they are subtle and quick to anger. Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome) SuSE-Linux-Mailinglisten-FAQ: http://www.helms.sh/faq/
participants (2)
-
Mario Duve
-
Sebastian Helms