मैं बैश कोड की इस पंक्ति का पुनर्गठन कैसे कर सकता हूं ताकि मैं प्रत्येक निर्देश पर टिप्पणी कर सकूं?


3

मेरे पास बैश की एक पंक्ति है:

SAMPLES=$(for f in `find $IN -iname *fastq.gz `; do basename $f | cut -c 1-4; done | sort | uniq)

जो मैं उनमें से प्रत्येक को टिप्पणी करने के उद्देश्य से कई पंक्ति में तोड़ने का प्रयास कर रहा हूं। मैं प्रत्येक पंक्ति पर या लाइन के बाद टिप्पणी के साथ कुछ पसंद करूंगा:

SAMPLES=
#comment
$(for f in `find $IN -iname *fastq.gz `; \ 
#comment
do basename $f |
#comment
cut -c 1-4; done | 
#comment
sort |
#comment
uniq)

मैंने यह और यह दोनों देखा है , लेकिन उनके पास $()मूल्यांकन, या लूप के लिए नहीं है, जो मुझे फेंक रहा है। किसी भी इनपुट की सराहना की।

जवाबों:


1

आपको यह करने की आवश्यकता है:

SAMPLES=$(for f in `find $IN -iname *fastq.gz `; #comment \
do basename $f | #comment \
cut -c 1-4; done |  #comment \
sort | #comment \
uniq)

यह काम करता है क्योंकि एक टिप्पणी newline पर समाप्त होती है \और अगली पंक्ति की शुरुआत में कमांड को पार्स करती है


हम्म ... तो \ _ टिप्पणी के हिस्से के रूप में नहीं माना जाएगा? यहाँ ( superuser.com/questions/641952/… ) ओपी का कहना है कि वह ऐसा नहीं कर सकता।
रीवानोव

@rivanov टिप्पणी का मूल्यांकन करने के लिए नई रूपरेखा से पहले रखा जाना है। आपके द्वारा लिंक की गई त्रुटि थी क्योंकि टिप्पणी का मूल्यांकन नई लाइन के बाद किया जा रहा था, पूरी लाइन को टिप्पणी के रूप में
शून्य कर दिया गया

3

आप अपने इच्छित सिंटैक्स का उपयोग कर सकते हैं, लेकिन पहली पंक्ति के लिए। अगर आप लिखेंगे

SAMPLE=

तब चर नमूना खाली स्ट्रिंग पर सेट किया जाता है। लेकिन अगर आप लिखेंगे

SAMPLE=$(

तब दुभाषिया बयान को समाप्त करने के लिए समापन कोष्ठक की तलाश करता है। यानी आप लिख सकते हैं:

SAMPLES=$(
#comment
for f in $(find . -name *fastq.gz) ;
#comment
do
# comment
basename $f |
#comment
cut -c 1-4
done |
#comment
sort |
uniq)

(BTW, आप $()पुराने backquote सिंटैक्स से बचने के लिए घोंसला बना सकते हैं ।)


वह आनंदमय है। तो, doneअपनी लाइन पर होना चाहिए?
रीवानोव

किया जा सकता है एक लाइन पर अकेले, या 'से अलग हो?' पिछले कमांड से।
मैक्सपी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.