Wie würden Sie einen Copyright-Hinweis ganz oben in jede Datei einfügen?
Antworten
Zu viele Anzeigen?#!/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
Seien Sie vorsichtig; wenn Leerzeichen in Dateinamen vorhanden sind, kann es zu unerwartetem Verhalten kommen.
ghostdog74
Punkte
305138
Sed
echo "Copyright" > tempfile
sed -i.bak "1i $(<tempfile)" file*
Oder Muschel
#!/bin/bash
shopt -s nullglob
for file in *; do
if [ -f "$file" ];then
echo "Copyright" > tempfile
cat "$file" >> tempfile;
mv tempfile "$file";
fi
done
um es rekursiv zu machen, wenn Sie bash 4.0 haben
#!/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 mit find
find /path -type f | while read -r file
do
echo "Copyright" > tempfile
cat "$file" >> tempfile;
mv tempfile "$file";
done
shuvalov
Punkte
4395
Juangui Jordán
Punkte
5125