통화 ID를 기반으로 사용자에게 재생되는 코덱 파일을 살펴봅니다. 사용자/통화 ID로 2개의 파일이 재생되었습니다. 이 grep 출력을 .csv 파일에 쓰고 있습니다. 나는 사용했다
grep -oP "(?<=$START).*?(?=$END)" $IVRLOG$Progress_log>>$CURRENTPATH/op2.csv
welcome1.g711u #(call_id1)
Announcementbui4.g711u #(call_id1)
welcome1.g711u #(call_id2)
Announcementbui4.g711u #(call_id2)
하지만 나는 출력이
welcome1.g711u,Announcementbui4.g711u #callid1
welcome1.g711u,Announcementbui4.g711u #callid2
답변1
grep -oP "(?<=$START).*?(?=$END)" $IVRLOG$Progress_log>>$CURRENTPATH/op2.csv |
while read line; do
grep "callid" | sed 's/()()//g' #removing the brackets
done
테스트되지 않은 새로운 공간 코드를 처리해야 할 수도 있습니다.
답변2
grep -oP "(?<=$START).?(?=$END)" $IVRLOG$Progress_log; then echo "일치 발견" { printf "%s," "$target_users"; grep -oP "(?<=$START).?(?=$END)" $IVRLOG$Progress_log | sed '$!N;s/\n/,/'; }>>$CURRENTPATH/E41.csv else echo "일치하는 항목이 없습니다." { printf "%s\ n" "$target_users"; }>>$CURRENTPATH/E41.csv fi Done call_id에 대해 위 코드를 반복하여 출력을 얻었습니다. 원하는 출력은 9188888881,welcome1.g711u,Announcementbui4.g711u 9177777772,welcome1입니다. g711u,공지 bui4.g711u 9166666663,welcome1.g711u,공지 bui4.g711u 9155555554,welcome1.g711u,공지 bui4.g711u 9144444445,welcome1.g711u,공지 bui4.g7 11u 이엘은 이 점에 있어서 나를 도와주었다.