एक स्थिर संख्या से एक -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.