Wie würden Sie eine Copyright-Nachricht ganz oben in jeder Datei einfügen?Copyright-Nachricht in mehrere Dateien einfügen
8
A
Antwort
12
#!/bin/bash
for file in *; do
echo "Copyright" > tempfile;
cat $file >> tempfile;
mv tempfile $file;
done
rekursive Lösung (findet alle .txt
Dateien in allen Unterverzeichnissen):
#!/bin/bash
for file in $(find . -type f -name \*.txt); do
echo "Copyright" > copyright-file.txt;
echo "" >> copyright-file.txt;
cat $file >> copyright-file.txt;
mv copyright-file.txt $file;
done
Sie vorsichtig; Wenn Leerzeichen in Dateinamen vorhanden sind, kann dies zu unerwartetem Verhalten führen.
0
können Sie dieses einfache Skript verwenden
#!/bin/bash
# Usage: script.sh file
cat copyright.tpl $1 > tmp
mv $1 $1.tmp # optional
mv tmp $1
Dateiliste über Such-Utility verwaltet werden können
5
sed
echo "Copyright" > tempfile
sed -i.bak "1i $(<tempfile)" file*
oder Shell
#!/bin/bash
shopt -s nullglob
for file in *; do
if [ -f "$file" ];then
echo "Copyright" > tempfile
cat "$file" >> tempfile;
mv tempfile "$file";
fi
done
es rekursiv zu tun , wenn du bas hast h 4,0
#!/bin/bash
shopt -s nullglob
shopt -s globstar
for file in /path/**
do
if [ -f "$file" ];then
echo "Copyright" > tempfile
cat "$file" >> tempfile;
mv tempfile "$file";
fi
done
oder find
find /path -type f | while read -r file
do
echo "Copyright" > tempfile
cat "$file" >> tempfile;
mv tempfile "$file";
done
+0
sehr gut gemacht. Sie haben hier viele Techniken eingeführt. Ich werde sie später studieren. Danke. –
0
Arbeiten in Mac OSX mit:
#!/usr/bin/env bash
for f in `find . -iname "*.ts"`; do # just for *.ts files
echo -e "/*\n * My Company \n *\n * Copyright © 2018 MyCompany. All rights reserved.\n *\n *\n */" > tmpfile
cat $f >> tmpfile
mv tmpfile $f
done
Verwandte Themen
- 1. Firebase - Dateien in mehrere Verzeichnisse einfügen
- 2. Code in mehrere Dateien einfügen? Aus mehreren Dateien entfernen?
- 3. Mehrere Dateien Pfad in einer einzigen Spalte der DB einfügen?
- 4. Einfügen in mehrere Auswahl
- 5. Einfügen von Dateien in DB
- 6. mybatis Einfügen in mehrere Tabellen
- 7. Mehrere einfügen in Sql Server
- 8. Mehrere Werte in Vektor einfügen
- 9. Daten in mehrere Tabellen einfügen
- 10. Mehrere Zeilen in IDLE einfügen
- 11. mehrere Dateien in eine
- 12. Mehrere Zeilen einfügen RockMongo
- 13. SQL mehrere Zeilen einfügen
- 14. mehrere Zeilen mit einem Befehl einfügen einfügen
- 15. mehrere Dateien und Daten
- 16. Einfügen für mehrere Benutzer
- 17. Mehrere Dateien in htaccess Dateien Tag
- 18. Geteilte TIFF-Dateien in mehrere Dateien
- 19. MongoDB: Bulk einfügen (Bulk.Insert) vs einfügen mehrere (einfügen ([...]))
- 20. Verschachtelte Klassen in separaten Dateien einfügen
- 21. Einfügen von Text in GtkTextBuffer aus Dateien
- 22. Mehrere Dateien in Dataframe laden
- 23. Mehrere Dateien in cmd umbenennen
- 24. Textdatei in mehrere Dateien aufteilen
- 25. Schwanz mehrere Dateien in CentOS
- 26. Mehrere Dateien in Hadoop zusammenführen
- 27. Mehrere Dateien in Vala lesen
- 28. , wie mehrere Dateien in Grails
- 29. Mehrere Dateien in Java erstellen
- 30. Gleichzeitiges Schreiben in mehrere Dateien
+1 Für seinen nächsten Trick, Paul wird es in 5 Byte tun mit 'perl -e ' –
+1 Schön! Wird in mein Tools-Repository gehen. Ich frage mich, wie würde man das rekursiv machen? –
@Byron Whitlock: warum Perl? sed würde es gut machen –