Stellen Sie sich einen Ordner namens parent-folder
mit den folgenden. Das übergeordnete Element enthält untergeordnete Elemente, und jedes untergeordnete Element enthält eine style.css-Datei. Ich brauche ein Bash-Skript, das jede CSS-Datei in _style.scss
umbenennt. Außerdem muss ich jedem Stylesheet @import 'glue1';
voranstellen.Bash Schleife durch Ordner und Datei umbenennen
parent-folder
child-folder
style.css
child-folder
style.css
child-folder
style.css
Das habe ich zusammengestellt. Ich habe Mühe, dies zu verstehen, weil ich kein Bash-Wissen habe. Ich finde es sehr schwer, Skripte zu schreiben.
for file in */**; do
echo "@import 'glue1';"|cat - $file > /tmp/out && mv /tmp/out $file
echo ${file/%.css/.scss}
done;
Was das Skript, wenn sie von parent-folder
genannt wird:
- Schleife durch jedes Unterverzeichnis
- Prepend
@import 'glue1';
zu jeder CSS-Datei durch eine temporäre Datei zu erstellen. - Echo die neue Datei Route
.css
mit.scss
Meine Frage ist ...
ersetzen out Was ist [diese] ${file/%.css/.scss}
Technik genannt und wie kann ich voranstellen, einen _
(Unterstrich) vor der Dateiname?
Lesen Sie die Manpage für 'finden': es ist für diese Art von Aufgaben gedacht. – boardrider