Sløyfe over filer i katalog og endre bane og legge til suffiks til filnavn
Å sløyfe over filer i en katalog sammen med endring av bane og legge til suffiks til filnavn er en nyttig måte å automatisere oppgaver og gjøre dem mer effektive. For å sløyfe over filer i en katalog, kan man bruke til sløyfekommando i bash.
Denne sløyfen vil iterere over alle filer i katalogen, slik at brukeren kan bruke kommandoer på hver fil. For eksempel kan man bruke mv kommando for å endre banen til filen, eller CP kommando for å lage en kopi av filen med et annet navn.
I tillegg kan man bruke basename -kommandoen til å legge til et suffiks til filnavnet og for å illustrere videre nedenfor er koden som løkker over filen i den spesifiserte katalogen sammen med å legge til suffiks og endre plassering:
#!/bin/bash
# Sett banen til kildekatalogen
src_dir = "/home/aaliyan/dokumenter"
# Angi banen til destinasjonskatalogen
dest_dir = "/home/aaliyan/newdocuments"
# Loop over hver fil i kildekatalogen
for fil i "$ src_dir"/*; gjøre
# Få filnavnet uten banen
filnavn = $ (basename "$ fil")
# Legg til suffikset til filnavnet
new_filename = "$ filename _new"
# Angi banen til destinasjonsfilen
dest_file = "$ dest_dir/$ new_filename"
# Flytt filen til destinasjonskatalogen med det nye filnavnet
mv "$ fil" "$ dest_file"
Ferdig
Dette bash -skriptet løkker over hver fil i en spesifisert kildekatalog og gir nytt navn med et suffiks "_ny" Før du flytter den til en ønsket katalog. Skriptet starter med å sette banen til kilde- og destinasjonskatalogene. Den løkker deretter over hver fil i kildekatalogen, får filnavnet uten banen, legger til suffikset "_ny" til filnavnet og setter banen til destinasjonsfilen. Dette skriptet kan være nyttig for å gi nytt navn og flytte mange filer samtidig.
Konklusjon
Denne artikkelen viser deg hvordan du kan sløyfe over filer i en katalog, endre banen til en fil og legge til et suffiks til et filnavn ved hjelp av bash -skripting. Ved å kombinere disse teknikkene, kan du enkelt gjøre endringer i flere filer i en katalog med bare noen få kodelinjer.