मैं आसानी से एक फ़ाइल की 5 प्रतियां कैसे बना सकता हूं?


13

मैं 5 फ़ाइलों का उपयोग करके कहीं जा सकता हूं:

$ mv my-{1..5}.jpg /path/to/dir/

मैं एक फाइल की कॉपी को 5 गुना आसानी से कैसे बना सकता हूं

# doesn't work
$ cp my.jpg my-{1..5}.jpg

क्या इसका उपयोग संभव नहीं है for loop?

जवाबों:


12

इसे इस्तेमाल करे

for f in {1..5}; do cp my.jpg my$f.jpg; done

(इसे अपने आप आज़माने के लिए यहाँ न मारें)


6
के for f in $fसाथ बदलें for f in $(seq 5)
डैन डी।

1
क्या इसका उपयोग संभव नहीं है for loop?
केव

@kev - मैंने हमेशा इसे इस तरह से देखा है; इसके अलावा, अधिक readabe।
रुके

3
@kev, लूप के लिए क्या गलत है? यह छोरों के लिए क्या है ...
2:18 बजे

3
@ दान: seqबाश में आवश्यक नहीं है। आप उपयोग कर सकते हैं for f in {1..5}याfor ((f=1; f<=5; f++))
अगली सूचना तक रोका गया।


4

कोशिश करें tee:

tee <my.jpg >/dev/null my-{1..5}.jpg

या parallel:

parallel cp my.jpg ::: my-{1..5}.jpg

3

आप इसे लूप के बिना कर सकते हैं .. उपयोग teeऔर {}ब्रेस विस्तार।

संपादित करें: ( डेनिस विलियमसन की टिप्पणी के अनुसार संशोधित :

"My-.jpg" नामक फ़ाइल के लिए

pre="my-"; suf=".jpg"
<"$pre$suf" tee "$pre"{1..5}"$suf" >/dev/null

1
यह eval का उपयोग करने के लिए आवश्यक नहीं है। <"$pre$suf" tee "$pre"{1..5}"$suf"ठीक काम करता है।
अगली सूचना तक रोक दिया गया।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.