フォルダ内の全てのファイルに対して処理を実行させたい


フォルダ内の全てのPCAPファイルをtsharkに処理させたいと思います。

フォルダ(/log)の中に、A.pcapng , B.pcapng というファイルがあります。

[code]

    #!/bin/sh
    for filepath in /log 
    do
    tshark -r $1 -Y "wlan.fcs_bad == 0 && wlan.ta == 00:00:00:00:00:00" fields -E separator’;’ -e frame.time_relative  -e wlan.seq —e tcp.seq -e radiotap.datarate -e radiotap.mcs.index -e radiotap.channel.type > $1-ta.csv
    tshark -r $1  -Y "wlan.fcs_bad == 0 && wlan.ra == 00:00:00:00:00:00" fields -E separator’;’ -e frame.time_relative  -e wlan.seq -e tcp.seq -e radiotap.datarate -e radiotap.mcs.index -e radiotap.channel.type > $1-ra.csv
    done
    read wait
    
[/code]

$1にA.pcapng , B.pcapng が自動的に入るようにしたいのですが、どう引数を渡せばいいでしょうか。



[code]

    #!/bin/bash
    
    for filepath in /log/*.pcapng
    do
      tshark -r $filepath -Y "wlan.fcs_bad == 0 && wlan.ta == 00:00:00:00:00:00" fields -E separator’;’ -e frame.time_relative  -e wlan.seq —e tcp.seq -e radiotap.datarate -e radiotap.mcs.index -e radiotap.channel.type > ${filepath}-ta.csv
      tshark -r $filepath -Y fields "wlan.fcs_bad == 0 && wlan.ra == 00:00:00:00:00:00" -E separator’;’ -e frame.time_relative  -e wlan.seq -e tcp.seq -e radiotap.datarate -e radiotap.mcs.index -e radiotap.channel.type > ${filepath}-ra.csv
    done
    read wait
    
[/code]

`for filepath in ...`としていますので`$filepath`で参照できます。  
また、このままですと、出力先は`A.pcapng-ta.csv`といったファイル名になります。  
出力先を`${filepath%.*}-ta.csv`にすれば`A-ta.csv`になりよりスマートです。



[code]

    #!/bin/bash
    
    for filepath in /log/*.pcapng
    do
      tshark -r $filepath -Y "wlan.fcs_bad == 0 && wlan.ta == 00:00:00:00:00:00" fields -E separator’;’ -e frame.time_relative  -e wlan.seq —e tcp.seq -e radiotap.datarate -e radiotap.mcs.index -e radiotap.channel.type > ${filepath}-ta.csv
      tshark -r $filepath -Y fields "wlan.fcs_bad == 0 && wlan.ra == 00:00:00:00:00:00" -E separator’;’ -e frame.time_relative  -e wlan.seq -e tcp.seq -e radiotap.datarate -e radiotap.mcs.index -e radiotap.channel.type > ${filepath}-ra.csv
    done
    read wait
    
[/code]

`for filepath in ...`としていますので`$filepath`で参照できます。  
また、このままですと、出力先は`A.pcapng-ta.csv`といったファイル名になります。  
出力先を`${filepath%.*}-ta.csv`にすれば`A-ta.csv`になりよりスマートです。

