2016-04-20 3 views
3

Say my Ordner wie unterShell-Skript-Dateien in einem Verzeichnis auf der Grundlage bestehende Dateien erstellen

- folder 
- file1.json 
- file2.json 

ich einen Shell-Skript benötigen, die mir dies nach dem Ausführen geben:

- folder 
- file1.json 
- file2.json 
- file1.sh 
- file2.sh 

Nach Erhalt die erstellte Datei Ich brauche dann füllen Sie file1.sh und file2.sh mit Inhalt, der teilweise von file1.json und file2.json entsprechend kopiert wird.

Ich könnte dies Zeile für Zeile unten tun, aber das ist nicht praktisch, wenn ich viele Dateien habe.

touch file1.sh 
cat somecontent.txt >> file1.sh 
cat file1.txt >> file1.sh 
cat othercontetn.txt >> file1.sh 
touch file2.sh 
cat somecontent.txt >> file2.sh 
cat file1.txt >> file2.sh 
cat othercontetn.txt >> file2.sh 

ich für eine Methode Auto suche die Ordner analysieren und Dateien in den Ordnern aus welchen Dateien erstellen. Könnte zuerst annehmen, dass es nur Dateien im Ordner gibt. Aber eigentlich in meinem Fall sollte die beste Lösung für die Situation funktionieren, dass es Ordner in Ordner gibt.

+0

Bitte nehmen Sie sich einen Blick auf [Bearbeiten von Hilfe .json und erstellen ] (http://stackoverflow.com/editing-help). – Cyrus

Antwort

3

Eine Methode automatisch den Ordner analysieren und Dateien basierend auf allen Dateien im Ordner erstellen.

Der folgende Code findet gleiche Inhaltsdateien mit {gleichem Präfix} .sh tut

find /folder -name "*.json" -exec bash -c 'cat "$1" > "${1%.*}.sh"' _ {} \; 
+0

speichern Sie meinen Tag – Acton

1

Eine einfache Bash-Schleife

for f in folder/*.json 
do cat folder/somecontent.txt "$f" > "${f%.json}".sh 
done 
+0

, wenn es Ordner2 unter Ordner gibt, und es gibt JSON-Dateien in Ordner2. Irgendeine Möglichkeit für diesen Fall? – Acton

+0

Ich weiß, ich könnte es fold by fold tun, aber nur neugierig, ob eine Suche für JSON-Dateien so tief wie möglich gehen könnte? – Acton

+0

http://StackOverflow.com/a/36755166/3479860 –

Verwandte Themen