답변1
여기 내 코드가 있는데 지금은 잘 작동하고 있습니다.
# Add a space between result and unit
sed -e 's/mA/ mA/g' -e 's/uA/ uA/g' myfile.csv
#Convert
awk -F" " '{\
if ($4 == "mA"){\
$3*=1000;\
$4 = "uA";}\
else\
$3=$3;\
}1' OFS=" " myfile.csv >> new_myfile.csv
답변2
이것이 csh에서 수행할 가치가 있는지 잘 모르겠지만 여기에 형편없는 "bash" 솔루션이 있습니다.
cat foo.csv | while IFS='' read -r line; do
multiplicand="$(
echo "$line" |
perl -pe 's/^.*?([\.0-9]+)mA$/\1/g'
)"
echo "$line" | \
perl -pe 's/^(.*?)'"$(
echo "$multiplicand" |
perl -pe 's/\./\\./g'
)"'mA$/${1}'"$(
bc -l <<< "$multiplicand"*1000 2>/dev/null |
perl -pe 's/\.0+//g'
)"'uA/g'
done