0

次のbashスクリプトがあります

counter=0
for file in /home/ec2-user/Workspace/events_parts/*
do
        counter=$[counter + 1]
        event=$(cat $file | jq '.Event')
        echo $event
        if [ "$event" = "Page Exceeded" ]  || [ "$event" = "Reporting Time" ]; then
                echo "Coming Here"
                jq ".url = \"$(jq '.Message' $file | sed 's/.*proxy=\([^&]*\).*/\1/')\"" $file  > events_parts/out_$file
        else
                jq ".url = null" $file > events_parts/out_$file
        fi
done

一連の JSON ファイルを処理します。out_$input_file_name を持つファイル名にリダイレクトしたいと考えています。しかし、変数ファイルは、ファイル名だけでなくパス全体を出力します(たとえば、/home/ec2-user/Workspace/events_parts/input.json)これから「入力ファイル名」だけを取得するにはどうすればよいですか?

4

1 に答える 1

1

これを試して:

file="/home/ec2-user/Workspace/events_parts/input.json"
filename="$(basename "$file")"
echo "$filename"

出力:

入力.json
于 2015-03-18T00:52:21.967 に答える