जवाबों:
एक सा के साथ पाश के लिए एक सरल sed
चाल करेंगे:
% touch xxxxx{foo,bar,baz}
% ls -l xxxxx{foo,bar,baz}
-rw-r--r-- 1 jamesog wheel 0 29 Dec 18:07 xxxxxbar
-rw-r--r-- 1 jamesog wheel 0 29 Dec 18:07 xxxxxbaz
-rw-r--r-- 1 jamesog wheel 0 29 Dec 18:07 xxxxxfoo
% for file in xxxxx*; do mv $file $(echo $file | sed -e 's/^.....//'); done
% ls -l foo bar baz
-rw-r--r-- 1 jamesog wheel 0 29 Dec 18:07 bar
-rw-r--r-- 1 jamesog wheel 0 29 Dec 18:07 baz
-rw-r--r-- 1 jamesog wheel 0 29 Dec 18:07 foo
स्थानापन्न regex में sed
किसी भी पांच अक्षरों (मिलान करने के लिए कहते हैं .
स्ट्रिंग (के शुरू में साधन किसी भी चरित्र) ^
) कर निकाल दें।
बैश में कुछ अद्भुत स्क्रिप्टिंग संभावनाएं हैं। यहाँ एक तरीका है:
for file in ??????*; do mv $file `echo $file | cut -c6-`; done
यह क्या परीक्षण करने के लिए एक आसान तरीका होगा करना आदेश के सामने एक गूंज जोड़ने के लिए है:
for file in ??????*; do echo mv $file `echo $file | cut -c6-`; done
छह प्रश्न चिह्न यह सुनिश्चित करते हैं कि आप केवल 5 वर्णों से अधिक फ़ाइल नाम के लिए ऐसा करने का प्रयास करते हैं।