Ubuntu 24.04.1 LTS | Lataa ja asenna | Tutustu yhteisöön | Blogi | Yritysten tarjoamat palvelutLiity Ubuntu Suomen seuraan muualla: Discourse, Facebook, Mastodon, Matrix, Telegram, X
echo `awk -F"," '{print $1".wav", $2".wav"}' filenames2.txt`
ii=01;for ll in $(cat filenames.txt); do echo mv $(echo $ii | awk '{printf("%02g",$1)}').wav "$ll.wav"; ii=$((ii+01)); done
#!/usr/bin/pythonimport osf = file('Filenames2.txt', 'r')for s in f: vanha, uusi = s.split(',') vanha = vanha.strip() + '.wav' uusi = uusi.strip() + '.wav' os.rename(vanha, uusi)f.close()
#!/usr/bin/gawk -F{ split($0, nimet, ",") system("mv " nimet[1] " " nimet[2])}
Oukei... Harhautti tuo kun käytit esimerkeissäsi kumminkin awkia. Itse en viitsisi kovin monimutkaista sh/bash/zsh-skriptiä kirjoittaa, jos saman hoitaa suit sait Pythonilla.
#!/bin/bash[ $# -eq 0 ] && echo "Usage: $(basename "$0") FILE ..." && exit 1while [ $# -gt 0 ]; do cat "$1" \ | while read line; do src="$(echo "$line" | cut -d, -f1)" dst="$(echo "$line" | cut -d, -f2-)" mv "$src.wav" "$dst.wav" done shiftdone
#!/bin/sh# the next line restarts using tclsh \exec tclsh "$0" "$@"if { $argc == 0 } { puts "Usage: $argv0 FILE ..." exit 1}foreach {arg} $argv { set fp [open $arg r] foreach {line} [split [read $fp] "\n"] { if { [regexp -- {^([^,]+),(.+)$} $line -> old new] } { file rename $old $new } } close $fp}