Tôi đang cố gắng thao tác một tập tin chứa các số trong ký hiệu khoa học, nhưng không có eký hiệu, tức 1.2e+3là được viết là 1.2+3.
Cách dễ nhất tôi nghĩ làm awklà thay thế +bằng e+, sử dụng gsubhàm và thực hiện phép tính của tôi trong tệp mới. Điều tương tự cũng xảy ra đối với trường hợp trừ. Vì vậy, một sửa chữa đơn giản có thể được thực hiện bằng cách sử dụng lệnh sau đây
awk '{gsub("+", "e+", $1); print $1, $2, $3, $4, $5}' file_in
và làm tương tự trong tất cả các cột.
Tuy nhiên, tập tin cũng chứa các số âm làm cho mọi thứ phức tạp hơn một chút. Một tập tin mẫu có thể được nhìn thấy dưới đây
1.056000+0 5.000000-1 2.454400-3 2.914800-2 8.141500-6
2.043430+1 5.000000-1 2.750500-3 2.698100-2-2.034300-4
3.829842+1 5.000000-1 1.969923-2 2.211364-2 9.499900-6
4.168521+1 5.000000-1 1.601262-2 3.030919-2-3.372000-6
6.661784+1 5.000000-1 5.250575-2 3.443669-2 2.585500-5
7.278104+1 5.000000-1 2.137055-2 2.601701-2 8.999800-5
9.077287+1 5.000000-1 1.320498-2 2.961020-2-1.011600-5
9.248130+1 5.000000-1 3.069610-3 2.786329-2-6.317000-5
1.049935+2 5.000000-1 4.218794-2 3.321955-2-5.097000-6
1.216283+2 5.000000-1 1.432105-2 3.077165-2 4.300300-5
Bất kỳ ý tưởng về cách thao tác và tính toán với một tập tin như vậy?