एक स्थिर संख्या से एक -txt डेटा फ़ाइल को कैसे गुणा करें?


9

मेरे पास एक कॉलम के साथ एक .txt फ़ाइल है। यह लगभग 8000 की संख्या है। मैं डेटा के इस कॉलम को 1000000 से कैसे गुणा कर सकता हूं?


3
यदि संख्या सख्ती से पूर्णांक हैं, तोsed 's/$/000000/' file.txt
ग्लेन जैकमैन

6
@glennjackman: यह एक जवाब की तरह दिखता है। : -]
डेविड फ़ॉस्टर

यदि संख्या पूर्णांक नहीं हैं तो क्या होगा?
ताम्र।

जवाबों:


24

आप awkकमांड का उपयोग कर सकते हैं :

awk '{print $1*1000000}' file.txt

16

यदि फ़ाइल में नंबर पूर्णांक या सरल फ्लोटिंग-पॉइंट मान हैं, तो आप वांछित स्केलिंग को इंगित करने के लिए numfmtउपयोगिता का उपयोग कर सकते हैं --from-unit=

पूर्व। दिया हुआ

$ cat file
1.23
5
3.45
17
6.78
23

फिर

$ numfmt --from-unit=100000 < file
123000.00
500000
345000.00
1700000
678000.00
2300000

आप printfउदाहरण के लिए आउटपुट में विभिन्न प्रकार के स्टाइल जोड़ सकते हैं

$ numfmt --from-unit=100000  --format="%'12.2f" < file
  123,000.00
  500,000.00
  345,000.00
1,700,000.00
  678,000.00
2,300,000.00

वैकल्पिक रूप से, sedऔर bc:

sed 's/$/ * 100000/' file | bc

या (रिवर्स पॉलिश संस्करण)

sed 's/$/ 100000 * p/' file | dc

क्या वह bcअंतिम आज्ञा में होना चाहिए या dcकुछ और है?
पर्लडक

3
@PerlDuck dcकुछ और है - उदाहरण के लिए देखें dc से भिन्न bc कैसे होता है?
स्टीलड्राइवर

LOL, मैं ध्यान से पढ़ सकते हैं और पर्याप्त नहीं सोचा पॉलिश में के रूप में बना कुछ चमकदार । समझाने के लिए टायर।
पर्कलुक

3
हा, तो "रिवर्स पॉलिश" "कुछ कम चमकदार (अधिक मैला)" बनाने के लिए है? IMO, dc उस आवश्यकता को पूरा करता है
ग्लेन जैकमैन

इस लिंक को देखें, विकिपीडिया: रिवर्स पोलिश नोटेशन - यह 1970 के दशक में दुनिया के पहले हैंडहेल्ड वैज्ञानिक कैलकुलेटर, और कैलकुलेटर की निम्न श्रृंखला के साथ लोकप्रिय हुआ।
सपोडस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.