मैं एक छोटी सी स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो एक टेक्स्ट फ़ाइल खोल देगा और मुझे प्रत्येक पंक्ति के लिए एमडी 5 हैश देगी।हैश टेक्स्ट फ़ाइल में प्रत्येक पंक्ति
123
213
312
मैं उत्पादन होना चाहते हैं: उदाहरण के लिए: मैं के साथ एक फ़ाइल है
ba1f2511fc30423bdbb183fe33f3dd0f
6f36dfd82a1b64f668d9957ad81199ff
390d29f732f024a4ebd58645781dfa5a
मैं जो प्रत्येक पंक्ति पढ़ा जाएगा बैश में इस हिस्से करने के लिए कोशिश कर रहा हूँ:
#!/bin/bash
#read.file.line.by.line.sh
while read line
do
echo $line
done
मैं पर बाद में कार्य करें:
$ more 123.txt | ./read.line.by.line.sh | md5sum | cut -d ' ' -f 1
लेकिन मैं मील कर रहा हूँ यहाँ कुछ ssing, काम नहीं करता है :(
हो सकता है कि वहाँ एक आसान तरीका है ...
आपको प्रत्येक लाइन के लिए अनावश्यक उदाहरण को रोकने से बचने के लिए शायद अजीब बाहरी लूप डालना चाहिए। बस करो 'करो अजीब '{प्रिंट $ 1}' '। –
आपको echo -n $ line करना चाहिए क्योंकि डिफ़ॉल्ट रूप से, इको स्ट्रिंग के अंत में एक नई पंक्ति जोड़ता है। नतीजतन, यह स्ट्रिंग के MD5 मान को बदलता है। –
उनके उदाहरण में हैश में नई लाइन शामिल है ... मैंने मूल्यों की जांच की। –