பேஷ் ஸ்கிரிப்டில் ஒரு கோப்பின் அளவை எவ்வாறு பெறுவது

How Get Size File Bash Script



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

பைட், கிலோபைட், மெகாபைட் அல்லது ஜிகாபைட் போன்ற குறிப்பிட்ட வடிவத்தில் கோப்பு அளவைப் பெற நீங்கள் பாஷ் ஸ்கிரிப்டில் பயன்படுத்தக்கூடிய விரைவான முறைகளைப் பற்றி இந்த டுடோரியல் விவாதிக்கும்.







முறை 1: ls கட்டளை

முதல் முறை நல்ல பழைய ls கட்டளையைப் பயன்படுத்துவது. மற்ற கட்டளைகளுடன் இணைந்தால், ls கட்டளை ஒரு கோப்பின் அளவைப் பிடிக்க முடியும்.



ஸ்கிரிப்டை செயல்படுத்த, எங்களுக்கு கோப்பின் முழு பாதை தேவை, கோப்பு தகவலை ls உடன் பட்டியலிடவும் மற்றும் ak போன்ற கட்டளையைப் பயன்படுத்தி அளவைப் பிடிக்கவும்.



அதற்கான மாதிரி ஸ்கிரிப்ட் இப்படி இருக்கும்:





#!/பின்/பேஷ்
வெளியே எறிந்தார் 'கோப்பின் முழு பாதையையும் உள்ளிடவும்.'
படி கோப்பு
கோப்பின் அளவு= $(ls -lh $ கோப்பு | விழி '{$ 5} அச்சிடவும்')
வெளியே எறிந்தார் '$ கோப்புஅளவு உள்ளது$ fileize'

மேலே உள்ள ஸ்கிரிப்ட் ஒப்பீட்டளவில் எளிமையானது. எதிரொலி மற்றும் வாசிப்பு கட்டளையைப் பயன்படுத்தி, கோப்பின் முழு பாதையின் பெயரைப் பெறுகிறோம்.

அடுத்து, ls -lh கட்டளையைப் பயன்படுத்தி அனைத்து கோப்பகங்களையும் அளவையும் மனிதனால் படிக்கக்கூடிய வடிவத்தில் பட்டியலிடுகிறோம், இறுதியாக, வெளியீட்டை விழித்தெறிந்து அளவை 5 ஐப் பிடிக்கவும்வதுமாறி.



பின்வருவது ஸ்கிரிப்டின் ஒரு எடுத்துக்காட்டு.

chmod +x size.sh
./size.sh

அதற்கான வெளியீடு இதோ:

சூடோ ./size.sh
கோப்பின் முழு பாதையையும் உள்ளிடவும்
/போன்றவை/கடவுச்சொல்
/etc/passwordd 2.9K அளவு கொண்டது

முறை 2: wc கட்டளை

பேஷ் ஸ்கிரிப்டில் ஒரு கோப்பின் அளவைப் பிடிக்க நாம் பயன்படுத்தக்கூடிய மற்றொரு முறை wc கட்டளை. Wc கட்டளை சொற்களின் எண்ணிக்கை, அளவு மற்றும் கோப்பின் அளவை பைட்டுகளில் அளிக்கிறது.

இப்போது:

உங்களுக்குத் தெரியும், பைட்டுகளின் அளவை பைட்டுகளில் படிப்பது அவ்வளவு எளிதல்ல. இதை எதிர்கொள்ள, நாம் ஒரு எளிய மெனுவை செயல்படுத்தலாம் மற்றும் பயனரிடம் கேபி, எம்பி மற்றும் ஜிபி போன்ற அளவு வடிவத்தைக் கேட்கலாம்.

தேர்ந்தெடுக்கப்பட்ட வடிவமைப்பைப் பொறுத்து, பைட்டுகளை அந்த வடிவத்திற்கு மாற்றுவோம்.

அத்தகைய தர்க்கத்தை செயல்படுத்த ஒரு எடுத்துக்காட்டு ஸ்கிரிப்ட் இங்கே:

#!/பின்/பேஷ்
வெளியே எறிந்தார் அளவு வடிவத்தைத் தேர்ந்தெடுத்து, எண் மதிப்புகளைப் பயன்படுத்தவும் (பைட்டுகளுக்கு 1, கிலோபைட்டுகளுக்கு 2, முதலியன) '
வெளியே எறிந்தார் '''
1. பைட்டுகள்
2. கிலோபைட்ஸ்
3. மெகாபைட்டுகள்
4. ஜிகாபைட்ஸ்
'
''
வெளியே எறிந்தார் '************************************************* ********************** '
படிவடிவம்

வெளியே எறிந்தார் இலக்கு கோப்புக்கான முழு பாதையையும் உள்ளிடவும்: '
படி கோப்பு
கோப்பின் அளவு= $(wc -சி $ கோப்பு | விழி '{$ 1} அச்சிடவும்')
என்றால் [[('$ வடிவம்'==1)]];
பிறகு
வெளியே எறிந்தார் '$ கோப்புதோராயமாக உள்ளது$ fileizeபைட்டுகள் '
எலிஃப் [[('$ வடிவம்'==2)]];
பிறகு
தோராயமாக= $(பிசி <<<'அளவுகோல் = 3;$ fileize/ 1024 ')
வெளியே எறிந்தார் '$ கோப்புதோராயமாக உள்ளது$ kbகேபி '
எலிஃப் [[('$ வடிவம்'==3)]];
பிறகு
எம்பி= $(பிசி <<<'அளவுகோல் = 6;$ fileize/ 1048576 ')
வெளியே எறிந்தார் '$ கோப்புதோராயமாக உள்ளது$ mbஎம்பி '

எலிஃப் [[('$ வடிவம்'==4)]];
பிறகு
ஜிபி= $(பிசி <<<'அளவுகோல் = 12;$ fileize/ 1073741824 ')
வெளியே எறிந்தார் '$ கோப்புதோராயமாக உள்ளது$ ஜிபிஜிபி '
வேறு
வெளியே எறிந்தார் 'தவறான வடிவம்.'
வெளியேறு
இரு

மேலே உள்ள ஸ்கிரிப்டில், கோப்பு அளவு வடிவத்தை உள்ளிடுமாறு பயனரிடம் கேட்டு தொடங்குகிறோம். பாஷ் இந்த உள்ளீட்டைப் படித்து அதை வடிவம் மாறியில் சேமிக்கிறது.

அடுத்து, பயனரை கோப்பு பாதையில் கேட்கிறோம் மற்றும் இந்த மாறியை ஒரு கோப்பில் சேமிக்கிறோம்.

அடுத்த கட்டம் குறிப்பிட்ட கோப்பில் wc -c- கட்டளையை அழைக்கிறது. Wc -c கோப்பின் அளவை பைட்டுகளிலும் கோப்பின் பாதையையும் திருப்பித் தருவதால், AWK ஐப் பயன்படுத்தி கோப்பின் அளவை மட்டும் பற்றிக்கொள்ளலாம். பைல் சைஸாக பைட்டுகளில் அளவை சேமிக்கிறோம்.

இறுதியாக, அளவு வடிவம் 1 (பைட்டுகள்), 2 (கிலோபைட்டுகள்), 3 (மெகாபைட்), 4 (ஜிகாபைட்) என்பதை சரிபார்க்க எளிய ஒரு அறிக்கையை நாங்கள் செயல்படுத்துகிறோம். பிசி கட்டளையைப் பயன்படுத்தி பைட்களின் அளவை பைட்டுகளில் குறிப்பிட்ட வடிவத்திற்கு மாற்றுவோம்.

குறிப்பு: ஒரு மதிப்பீட்டிற்கு தசமங்களின் எண்ணிக்கைக்கு இடமளிக்க பிசி கட்டளைக்கு ஒரு மாறுபடும் அளவைப் பயன்படுத்துகிறோம்.

ஸ்கிரிப்ட் எப்படி வேலை செய்கிறது என்பதை கீழே உள்ள படம் காட்டுகிறது.

மற்றொரு குறிப்பு : மேலே உள்ள ஸ்கிரிப்ட் தூய வெற்று எலும்புகள் மற்றும் எனவே குறிப்பிடத்தக்க மேம்பாடுகளுக்கு திறக்கப்பட்டுள்ளது. அதை மேம்படுத்தவும், உங்கள் தேவைகளுக்கு ஏற்ப மாற்றவும் தயங்காதீர்கள்.

முறை 3: stat கட்டளையைப் பயன்படுத்துதல்

ஸ்டேட் கட்டளையை நாம் மறக்க முடியாது. ஸ்டாட் கட்டளையைப் பயன்படுத்தி, ஒரு கோப்பு அல்லது கோப்பு முறைமை பற்றிய விரிவான தகவல்களை நாம் காட்ட முடியும்.

புள்ளி கட்டளை பைட்டுகளிலும் அளவை அளிக்கிறது. வடிவமைப்பைத் தேர்ந்தெடுக்க மேலே உள்ள ஸ்கிரிப்டில் இதே போன்ற தர்க்கத்தைப் பயன்படுத்தலாம்.

ஸ்டேட் கட்டளையைப் பயன்படுத்தி ஒரு எளிய ஸ்கிரிப்ட் இங்கே:

#!/பின்/பேஷ்
வெளியே எறிந்தார் 'கோப்பு பாதையை உள்ளிடவும்.'
படி கோப்பு
கோப்பின் அளவு= $(நிலை -சி %கள்$ கோப்பு)
வெளியே எறிந்தார் '$ கோப்புதுல்லியமானது$ fileizeபைட்டுகள். '

முடிவுரையில்

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