Advertisement
Guest User

simple.awk v.0.1

a guest
Mar 16th, 2013
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #! /bin/awk -f
  2.  
  3. #  Running examples (simple.awk is name of this script):
  4. #
  5. #  ./simple.awk sample.txt
  6. #  ./simple.awk -v debug=1 sample.txt
  7. #  ./simple.awk -v path='~/Media/' sample.txt
  8. #  ./simple.awk -v debug=1 -v path='~/Media/' sample.txt
  9.  
  10. BEGIN {
  11.         LDEBUG="";
  12.         LPATH="";
  13.     if(length(path)>0){
  14.         LPATH=path;
  15.     }
  16.     if(length(debug)>0){
  17.         LDEBUG=debug;
  18.     }
  19.         extinf="";
  20. }
  21.  
  22. /^#EXTINF:[0-9]+,.+$/{
  23.   gsub(/[ \t\n\r]+$/,""); # remove trailing non-printable chars from $0
  24.   match($0,/^#EXTINF:([0-9]+),(.+)[[:space:]]*$/,ar);
  25.   gsub(/"/,"\\\"",ar[2]); # adding backslash to double quotes if found in song name
  26.   extinf = "\"" ar[1] "." ar[2] ".mp3\"";
  27.   if(LPATH)  extinf = LPATH extinf;
  28.   if(LDEBUG) print extinf;
  29. }
  30.  
  31. /^http:\/\/.+\.mp3[\ \n\r\t]*$/{
  32.   if(extinf){
  33.     gsub(/[ \t\n\r]+$/,""); # remove trailing non-printable chars from $0
  34.     cmd="wget -O "extinf" '"$0"'";
  35.     if(LDEBUG) print cmd;
  36.     else system(cmd);
  37.     extinf="";
  38.   }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement