suprimir els fitxers que no són d’un dipòsit

logotip del SubversionEs veu que m’ha agafat la dèria de fer-me scripts per a tot :)

El d’avui és per el típic cas en que estem treballant amb un dipòsit i per poder fer comparacions i tot plegat ens queden la tira de fitxers temporals repartits per tot arreu i que un cop acabada la feina i confirmada (commit en anglès) només fan nosa, així que anem a suprimir-los:

svn status | grep ? | cut -d” ” -f7 | xargs rm

amb svn status ens dirà quins fitxers hi ha diferents dels que estan actualment al dipòsit SVN, amb el grep agafem els que es desconeix (normalment seran aquests els que volem suprimir), seguidament agafem només el nom del fitxer amb el cut i per acabar amb l’xargs i un simple rm els eliminem tots :D

ordre del dia

una de tapes … vull dir xargs!

no us heu trobat mai amb la necessitat de passar-li a una ordre el resultat d’una altra? i és que l’xargs l’únic que fa és passar com a arguments el que rep per l’entrada

a vegades amb l’accent tancat en teniu prou, però si no és el cas teniu l’xargs :)

amb aquesta ordre podeu, per exemple, seleccionar totes les imatges que acabeu d’importar i que estan en un directori per moure-les a un altre:

ls DCIM00*.jpg | xargs mv {} ~/Imatges/carpeta_nova

aquí seleccionem les imatges que volem amb ls DCIM00*.jpg, redirigim la sortida de l’ls a l’entrada de l’xargs que al seu moment ho reenvia com a arguments de l’ordre mv que mourà {} (que és el que ens envia l’xargs) a ~/Imatges/carpeta_nova

el {} a vegades no cal, si les volguéssim suprimir només ens hauria calgut fer ls *.jpg | xargs rm , però l’xargs ens dóna la possibilitat d e poder ubicar els paràmetres que volem passar a l’ordre de la manera que volem

fins i tot és tant intel·ligent que si la llista d’arguments és massa llarga la parteix a trossos perquè així no peti l’ordre!