Supprimer certains fichiers
Si le nom du fichier contient "PO_Consumption_", il est supprimé.
for f in *.csv; do
if [ $(echo "$f" | grep -c PO_Consumption_) -gt 0 ]; then
rm "$f"
fi
done
Si le fichier gz est corrompu, il est supprimé.
# Attention, si les fichiers sont gz.gz ils seront supprimés
for f in *.gz; do
if [ -f "$f" ]; then
gunzip "$f"
if [ $? -eq 0 ]; then
echo "fichier OK"
else
echo "fichier pas OK"
rm "$f"
fi
fi
done
Supprimer des lignes d'un fichier avant un mot particulier
- Ici, on supprime les lignes avant l'apparition du mot « Schichttext » (la ligne contenant le mot sera conservée) :
for f in *.txt; do
if [ $(echo $f | grep -c pm2_sh) -gt 0 ]; then
if [ $(egrep -a -h "Schichttext" "$f" | wc -l) -gt 0 ]; then
new_file2=text_"$f"
cp $f "$new_file2"
sed -n -i '/Schichttext/,$p' "$new_file2"
mv $new_file2 "$PathRepo"
fi
mv $f "$PathRepo"
fi
done
Supprimer les caractères illisibles des noms de fichiers
Parce que tout le monde sait qu'en langage informatique, un « ç » devient « ¤$?!! » :
for f in *.*;do detox "$f";done