பேஷ் வீச்சு: ஷெல்லில் உருவாக்கப்பட்ட காட்சிகளை எப்படி மீண்டும் செய்வது

Bash Range How Iterate Over Sequences Generated Shell



நீங்கள் இரண்டு வழிகளில் பாஷ் எண்களின் வரிசையை மீண்டும் செய்யலாம். ஒன்று பயன்படுத்துவதன் மூலம் வரிசை கட்டளை மற்றும் மற்றொன்று வளையத்திற்கான வரம்பைக் குறிப்பிடுவதன் மூலம். இல் வரிசை கட்டளை, வரிசை ஒன்றிலிருந்து தொடங்குகிறது, ஒவ்வொரு அடியிலும் ஒரு எண் அதிகரிக்கிறது மற்றும் ஒவ்வொரு வரியிலும் ஒவ்வொரு வரியிலும் மேல் வரம்பு வரை இயல்பாக அச்சிடவும். எண் உச்ச வரம்பிலிருந்து தொடங்கினால், ஒவ்வொரு அடியிலும் ஒன்று குறைகிறது. பொதுவாக, அனைத்து எண்களும் மிதக்கும் புள்ளியாக விளக்கப்படுகின்றன, ஆனால் வரிசை முழு எண்ணிலிருந்து தொடங்கினால், தசம முழு எண்களின் பட்டியல் அச்சிடப்படும். Seq கட்டளை வெற்றிகரமாக இயக்க முடிந்தால் அது 0 ஐத் தருகிறது, இல்லையெனில் அது பூஜ்ஜியமற்ற எண்ணை அளிக்கும். வரம்புடன் வளையத்தைப் பயன்படுத்தி எண்களின் வரிசையையும் நீங்கள் மீண்டும் செய்யலாம். இரண்டும் வரிசை கட்டளை மற்றும் வரம்பு கொண்ட வளையம் எடுத்துக்காட்டுகளைப் பயன்படுத்தி இந்த டுடோரியலில் காட்டப்பட்டுள்ளது.

Seq கட்டளையின் விருப்பங்கள்:

நீங்கள் பயன்படுத்தலாம் வரிசை பின்வரும் விருப்பங்களைப் பயன்படுத்தி கட்டளை.







-இன்

அனைத்து எண்களையும் சம அகலத்துடன் அச்சிட முன்னணி பூஜ்ஜியங்களுடன் எண்களைத் தட்ட இந்த விருப்பம் பயன்படுத்தப்படுகிறது.



-எஃப் வடிவம்

குறிப்பிட்ட விருப்பத்துடன் எண்ணை அச்சிட இந்த விருப்பம் பயன்படுத்தப்படுகிறது. மிதக்கும் எண்ணை %f, %g மற்றும் %e ஐ மாற்றும் எழுத்துக்களாகப் பயன்படுத்தி வடிவமைக்க முடியும். %g இயல்பாக பயன்படுத்தப்படுகிறது.



-s சரம்

எண்களை சரத்துடன் பிரிக்க இந்த விருப்பம் பயன்படுத்தப்படுகிறது. இயல்புநிலை மதிப்பு புதிய வரி (‘ n’).





Seq கட்டளையின் எடுத்துக்காட்டுகள்:

நீங்கள் மூன்று வழிகளில் seq கட்டளையைப் பயன்படுத்தலாம். ஒவ்வொரு அடியிலும் அதிகரிப்பு அல்லது குறைப்பு மதிப்புடன் நீங்கள் மேல் வரம்பு அல்லது மேல் மற்றும் கீழ் வரம்பு அல்லது மேல் மற்றும் கீழ் வரம்பை மட்டுமே பயன்படுத்த முடியும். விருப்பங்களுடன் seq கட்டளையின் பல்வேறு பயன்பாடுகள் பின்வரும் எடுத்துக்காட்டுகளில் காட்டப்பட்டுள்ளன.

எடுத்துக்காட்டு -1: விருப்பம் இல்லாமல் seq கட்டளை

மேல் வரம்பு மட்டுமே பயன்படுத்தப்படும்போது, ​​எண் 1 இலிருந்து தொடங்கி ஒவ்வொரு அடியிலும் ஒன்று அதிகரிக்கும். பின்வரும் கட்டளை 1 முதல் 4 வரை எண்ணை அச்சிடும்.



$வரிசை 4

வெளியீடு:

இரண்டு மதிப்புகள் seq கட்டளையுடன் பயன்படுத்தப்படும்போது முதல் மதிப்பு தொடக்க எண்ணாகவும் இரண்டாவது மதிப்பு இறுதி எண்ணாகவும் பயன்படுத்தப்படும். பின்வரும் கட்டளை 7 முதல் 15 வரை எண்ணை அச்சிடும்.

$வரிசை 7 பதினைந்து

வெளியீடு:

நீங்கள் seq கட்டளையுடன் மூன்று மதிப்புகளைப் பயன்படுத்தும்போது, ​​ஒவ்வொரு அடியிலும் இரண்டாவது மதிப்பு அதிகரிப்பு அல்லது குறைப்பு மதிப்பாகப் பயன்படுத்தப்படும். பின்வரும் கட்டளைக்கு, தொடக்க எண் 10, முடிவு எண் 1 மற்றும் ஒவ்வொரு அடியும் 2 குறைப்பதன் மூலம் கணக்கிடப்படும்.

$வரிசை 10 -2 1

வெளியீடு:

உதாரணம் -2: –w விருப்பத்துடன் seq

பின்வரும் கட்டளை 1 முதல் 9 வரையிலான எண்ணுக்கு முன்னணி பூஜ்ஜியத்தைச் சேர்ப்பதன் மூலம் வெளியீட்டை அச்சிடும்.

$வரிசை -இன்0110

வெளியீடு:

உதாரணம் -3: –s விருப்பத்துடன் seq

பின்வரும் கட்டளை பயன்படுத்துகிறது - ஒவ்வொரு வரிசை எண்ணிற்கும் பிரிப்பானாக. எண்களின் வரிசை சேர்ப்பதன் மூலம் அச்சிடப்படும் - பிரிப்பானாக.

$வரிசை -s-8

வெளியீடு:

எடுத்துக்காட்டு -4: -f விருப்பத்துடன் seq

பின்வரும் கட்டளை 1 முதல் 10 தேதி மதிப்புகளை அச்சிடும். இங்கு, வரிசை எண்ணை மற்ற சரம் மதிப்புடன் சேர்க்க %g விருப்பம் பயன்படுத்தப்படுகிறது.

$வரிசை -f '%g/04/2018' 10

வெளியீடு:

பேஷ் வரம்பு

பின்வரும் கட்டளை %f ஐ பயன்படுத்தி மிதக்கும் புள்ளி எண்ணின் வரிசையை உருவாக்க பயன்படுகிறது. இங்கே, எண் 3 இலிருந்து தொடங்கி ஒவ்வொரு அடியிலும் 0.8 அதிகரிக்கும் மற்றும் கடைசி எண் 6 ஐ விட குறைவாகவோ அல்லது சமமாகவோ இருக்கும்.

$வரிசை -f '%f' 3 0.8 6

வெளியீடு:

எடுத்துக்காட்டு -5: ஒரு கோப்பில் வரிசையை எழுதுங்கள்

கன்சோலில் அச்சிடாமல் எண்ணின் வரிசையை ஒரு கோப்பில் சேமிக்க விரும்பினால், நீங்கள் பின்வரும் கட்டளைகளைப் பயன்படுத்தலாம். முதல் கட்டளை பெயரிடப்பட்ட கோப்பில் எண்களை அச்சிடும் seq.txt . ஒவ்வொரு அடியிலும் எண் 5 முதல் 20 வரை மற்றும் 10 ஆல் அதிகரிக்கும். இரண்டாவது கட்டளை உள்ளடக்கத்தை பார்க்க பயன்படுகிறது seq.txt கோப்பு.

$ seq 5 10 20 | பூனை> seq.txt
$ cat seq.txt

வெளியீடு:

எடுத்துக்காட்டு -6: வளையத்திற்கு seq in ஐப் பயன்படுத்துதல்

நீங்கள் fn1 முதல் fn10 வரையிலான கோப்புகளை seq உடன் வளையத்தைப் பயன்படுத்தி உருவாக்க விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம். Sq1.bash என்ற கோப்பை உருவாக்கி பின்வரும் குறியீட்டைச் சேர்க்கவும். லூப், seq கட்டளையைப் பயன்படுத்தி 10 முறை திரும்பவும் fn1, fn2, fn3 ... ..fn10 வரிசையில் 10 கோப்புகளை உருவாக்கும்.

#!/பின்/பேஷ்
க்கானநான்இல் 'வரிசை 10'
செய்
தொடுதல்fn.$ i
முடிந்தது

வெளியீடு:

பேஷ் கோப்பின் குறியீட்டை இயக்க பின்வரும் கட்டளைகளை இயக்கவும் மற்றும் கோப்புகள் உருவாக்கப்பட்டதா இல்லையா என்பதை சரிபார்க்கவும்.

$பேஷ்சதுர 1. பாஷ்
$ls

வரம்புடன் வளையத்திற்கான எடுத்துக்காட்டுகள்:

எடுத்துக்காட்டு -7: வரம்புடன் வளையத்திற்கு

Seq கட்டளையின் மாற்று வரம்பு. Seq போன்ற எண்களின் வரிசையை உருவாக்க நீங்கள் வளையத்திற்கான வரம்பைப் பயன்படுத்தலாம். பின்வரும் குறியீட்டை பெயரிடப்பட்ட பேஷ் கோப்பில் எழுதுங்கள் சதுர 2. பாஷ் . லூப் 5 முறை திரும்பும் மற்றும் ஒவ்வொரு அடியிலும் ஒவ்வொரு எண்ணின் சதுர மூலத்தையும் அச்சிடும்.

#!/பின்/பேஷ்
க்கானஎன்இல் {1..5}
செய்
((விளைவாக= என்*என்))
வெளியே எறிந்தார் $ என் சதுரம்=$ முடிவு
முடிந்தது

வெளியீடு:

கோப்பின் ஸ்கிரிப்டை இயக்க கட்டளையை இயக்கவும்.

$பேஷ்சதுர 2. பாஷ்

எடுத்துக்காட்டு -8: வரம்பு மற்றும் அதிகரிப்பு மதிப்பு கொண்ட வளையத்திற்கு

இயல்பாக, எண் seq போன்ற வரம்பில் ஒவ்வொரு அடியிலும் ஒன்று அதிகரிக்கப்படுகிறது. நீங்கள் அதிகரிப்பு மதிப்பை வரம்பில் மாற்றலாம். பின்வரும் குறியீட்டை பெயரிடப்பட்ட பேஷ் கோப்பில் எழுதுங்கள் சதுர 3. பாஷ் . ஸ்கிரிப்டில் உள்ள லூப் 5 முறை திரும்பும், ஒவ்வொரு அடியும் 2 ஆல் அதிகரிக்கப்பட்டு 1 முதல் 10 வரை அனைத்து ஒற்றைப்படை எண்களையும் அச்சிடுகிறது.

#!/பின்/பேஷ்
வெளியே எறிந்தார் 1 முதல் 10 வரையிலான ஒற்றைப்படை எண்கள்
க்கானநான்இல் {1..10..2}
செய்
வெளியே எறிந்தார் $ i;
முடிந்தது

வெளியீடு:

கோப்பின் ஸ்கிரிப்டை இயக்க கட்டளையை இயக்கவும்.

$பேஷ்சதுர 3. பாஷ்

நீங்கள் எண்களின் வரிசையில் வேலை செய்ய விரும்பினால், இந்த டுடோரியலில் காட்டப்பட்டுள்ள ஏதேனும் விருப்பங்களைப் பயன்படுத்தலாம். இந்த டுடோரியலை முடித்த பிறகு, உங்கள் பாஷ் ஸ்கிரிப்ட்டில் நீங்கள் seq கட்டளையையும், லூப் வரம்பையும் மிகவும் திறமையாக பயன்படுத்த முடியும்.