다음과 같은 CSV가 있습니다
1.2kbps,link1,description
1.2mbps,link2,description
찾아서 교체하고 싶어요
a) 1열에 000이 있고 kbps가 있는 포인트
b) gawk 또는 awk를 사용하여 열 1에 000000 포인트와 mbps를 사용하면 출력은 다음과 같아야 합니다.
12000,link1,description
12000000,link2,description
나는 Gawk를 선호하지만 awk 예제를 사용하여 사용할 수 있습니다.
감사해요
답변1
이렇게 하면 문제가 해결됩니다.
awk -F, '
BEGIN{OFS=FS}
/kbps/{gsub("kbps","",$1);$1=$1*1000};
/mbps/{gsub("mbps","",$1);$1=$1*1000000}
1' file.csv
답변2
이것을 시도해 보십시오(GNU Awk 3.1.7에 대해 테스트됨):
awk '{sub(/\./,"");sub(/kbps/,"000");sub(/mbps/,"000000")}1' foo.csv