User:Kloonurm: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 36: | Line 36: | ||
fi | fi | ||
exit 0 | exit 0 | ||
</source> | |||
==Python== | |||
==Skript== | |||
<source lang="python"> | |||
#!/usr/bin/python | |||
# -*- coding: utf-8 -*- | |||
#Autor: Kaido Loonurm | |||
#Versioon 0.1 | |||
#Skript on testitud Ubuntu 10.10 versiooniga. | |||
#Skript otsib ette antud pathilt kõik failid mis kattuvad mustrirga, ning kontrollib kas string on faili alguses olemas. | |||
#Kui string puudub failist siis lisatakse string faili algusesse ja n2idatakse faili nime mida muudeti. | |||
import fnmatch | |||
import os,sys | |||
#Kontrollin kas k6ik argumendid on skriptile ette antud | |||
if len(sys.argv) != 4: | |||
print 'Kasutamine: ./autor.py <Path> <Muster n2iteks *.java> <String> ' | |||
print 'M22ratud pathilt k2iakse kõik folderid rekursiivselt l2bi!!' | |||
sys.exit(1) | |||
# Loen parameetrid | |||
# 1 = path kust alates otsida | |||
rootPath = sys.argv[1] | |||
# 2 = muster mille j2rgi otsida | |||
pattern = sys.argv[2] | |||
# 3 = String mida tahetakse lisada faili algusesse | |||
autor= sys.argv[3] | |||
#k2in rekursiivselt k6ik folderid l2bi | |||
for root, dirs, files in os.walk(rootPath): | |||
#otsin mustri j2rgi vajalikud failid | |||
for filename in fnmatch.filter(files, pattern): | |||
#Vaatame faili sisu ja leiame failid kus etteantud string on failialgusest puudu | |||
data = open(os.path.join(root, filename), 'rU').readlines() | |||
#marker mis muudetakse 1-ks kui string leitakse failist | |||
leidsin = 0 | |||
# K2ime faili l2bi ja otsime stringi | |||
for rida in data: | |||
if autor in rida: | |||
leidsin=1 | |||
#kui string oli failist puudu siis kirjutame selle faili algusesse esimesele reale | |||
if not leidsin: | |||
fp = open(os.path.join(root, filename), 'w') | |||
#\n annab meile stringi l6ppu reavahetuse | |||
fp.write(autor+'\n') | |||
for rida in data: | |||
fp.write(rida) | |||
print 'Muutsin faili: '+os.path.join(root, filename) | |||
fp.close() | |||
</source> | </source> |
Revision as of 12:56, 22 May 2011
Bash
Skript
#!/bin/bash
#Author: Kaido Loonurm
#Kasutamine: add-license.sh [text or text file path] [path... or search parameter]
#Otsib faili esimeselt realt vastet, kui ei leia siis lisab faili agusesse etteantud rea
#Näide: add-author.sh "Author:John Smith" *.java
#Versioon 0.8
TEXT=$1
#Kontrollin kas on ette antud fail v6i tekstiline v22rtus
if [ -f $TEXT ]
then
license_text=`head -1 $TEXT`
else
license_text=$TEXT
fi
#leian vajalikud failid ja loen need masiivi
for f in $(find -type f -iname $2); do
#kontrollin kas faili alguses leidub etteantud string
file_beginning=`head -1 $f | grep "$license_text"`
#Kui stringi ei leitud siis lisan selle faili algusesse
if [ $? -ne 0 ]; then
#Loen faili sisu muutujasse et faili sisu s2iliks esialgsel kujul
AJUTINE=`cat "$f"`
#Kleebin lisatava teksti ja vana teksti kokku
echo -e "$license_text" "\n" "$AJUTINE" > tmp.txt; mv tmp.txt $f
#annan teada millised failid muudeti
echo "Muutsin faili: $f"
fi
exit 0
Python
Skript
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Autor: Kaido Loonurm
#Versioon 0.1
#Skript on testitud Ubuntu 10.10 versiooniga.
#Skript otsib ette antud pathilt kõik failid mis kattuvad mustrirga, ning kontrollib kas string on faili alguses olemas.
#Kui string puudub failist siis lisatakse string faili algusesse ja n2idatakse faili nime mida muudeti.
import fnmatch
import os,sys
#Kontrollin kas k6ik argumendid on skriptile ette antud
if len(sys.argv) != 4:
print 'Kasutamine: ./autor.py <Path> <Muster n2iteks *.java> <String> '
print 'M22ratud pathilt k2iakse kõik folderid rekursiivselt l2bi!!'
sys.exit(1)
# Loen parameetrid
# 1 = path kust alates otsida
rootPath = sys.argv[1]
# 2 = muster mille j2rgi otsida
pattern = sys.argv[2]
# 3 = String mida tahetakse lisada faili algusesse
autor= sys.argv[3]
#k2in rekursiivselt k6ik folderid l2bi
for root, dirs, files in os.walk(rootPath):
#otsin mustri j2rgi vajalikud failid
for filename in fnmatch.filter(files, pattern):
#Vaatame faili sisu ja leiame failid kus etteantud string on failialgusest puudu
data = open(os.path.join(root, filename), 'rU').readlines()
#marker mis muudetakse 1-ks kui string leitakse failist
leidsin = 0
# K2ime faili l2bi ja otsime stringi
for rida in data:
if autor in rida:
leidsin=1
#kui string oli failist puudu siis kirjutame selle faili algusesse esimesele reale
if not leidsin:
fp = open(os.path.join(root, filename), 'w')
#\n annab meile stringi l6ppu reavahetuse
fp.write(autor+'\n')
for rida in data:
fp.write(rida)
print 'Muutsin faili: '+os.path.join(root, filename)
fp.close()