பாஷில் நீட்டிப்பு இல்லாமல் கோப்பு பெயரைப் படிக்கவும்

Read Filename Without Extension Bash



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

கோப்புப்பெயரைப் படிக்க `அடிப்படை பெயர்` கட்டளையைப் பயன்படுத்துதல்

ஒரு அடைவு அல்லது கோப்பு பாதையில் இருந்து நீட்டிப்பு இல்லாமல் கோப்பு பெயரை படிக்க `அடிப்படை பெயர்` கட்டளை பயன்படுத்தப்படுகிறது.







தொடரியல்:



அடிப்படை பெயர்பெயர்[சஃபிக்ஸ்]

அல்லது



அடிப்படை பெயர்விருப்பம் ... பெயர் ...

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





விருப்பங்கள்

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

எடுத்துக்காட்டு -1: NAME மற்றும் SUFFIX ஐப் பயன்படுத்துதல்

பின்வரும் `அடிப்படை பெயர்` கட்டளை நீட்டிப்புடன் கோப்பு பெயரை மீட்டெடுக்கும். இந்த கட்டளையிலிருந்து SUFFIX தவிர்க்கப்பட்டது. இங்கே, வெளியீடு உள்ளது 'Product.txt' .



$அடிப்படை பெயர் /வீடு/ஃபஹ்மிடா/குறியீடு/product.txt

நீட்டிப்பு இல்லாமல் கோப்பு பெயரை மீட்டெடுக்க விரும்பினால், கோப்பு நீட்டிப்பை SUFFIX என `அடிப்படை பெயர்` கட்டளையுடன் வழங்க வேண்டும். இங்கே, நீட்டிப்பு .txt. கோப்பிலிருந்து நீட்டிப்பை அகற்ற பின்வரும் கட்டளையை இயக்கவும்.

$அடிப்படை பெயர் /வீடு/ஃபஹ்மிடா/குறியீடு/product.txt .txt

எடுத்துக்காட்டு -2: ‘-a’ விருப்பம் மற்றும் NAME ஐப் பயன்படுத்துதல்

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

$அடிப்படை பெயர் -செய்ய /வீடு/ஃபஹ்மிடா/index.html/வீடு/ஃபஹ்மிடா/குறியீடு/emp.txt

எடுத்துக்காட்டு -3: ‘-z’ விருப்பம் மற்றும் NAME ஐப் பயன்படுத்துதல்

புதிய கோட்டுக்குப் பதிலாக பூஜ்ய மதிப்புடன் பல கோப்பு பெயர்களை அச்சிட `-z 'விருப்பம்` அடிப்படை பெயர்` கட்டளையுடன் பயன்படுத்தப்படுகிறது. பின்வரும் கட்டளை '-a' மற்றும் '-z' ஆகிய இரண்டு விருப்பங்களை ஒன்றாகப் பயன்படுத்துகிறது. இங்கே, இரண்டு கோப்பு பெயர்கள், index.html மற்றும் emp.txt எந்த இடைவெளி அல்லது புதிய வரி இல்லாமல் அச்சிடப்படும்.

$அடிப்படை பெயர் -தி /வீடு/ஃபஹ்மிடா/index.html/வீடு/ஃபஹ்மிடா/குறியீடு/emp.txt

எடுத்துக்காட்டு -4: ‘-s’ விருப்பம் மற்றும் NAME ஐப் பயன்படுத்துதல்

பின்வரும் கட்டளையை SUFFIX இன் மாற்றாக `அடிப்படை பெயர்` உடன் பயன்படுத்தலாம். கோப்பில் இருந்து கோப்பு நீட்டிப்பை அகற்ற கோப்பு நீட்டிப்பு '-sh' விருப்பத்துடன் அனுப்பப்பட வேண்டும். பின்வரும் எடுத்துக்காட்டு நீட்டிப்பை நீக்கும், கோப்பிலிருந்து ‘-sh’, ‘add.sh’.

$அடிப்படை பெயர் -s.sh கூட்டல்

எடுத்துக்காட்டு -5: SUFFIX இல்லாமல் கோப்பு நீட்டிப்பை அகற்று

கோப்பு பெயரிலிருந்து நீங்கள் நீக்க விரும்பும் கோப்பின் நீட்டிப்பு உங்களுக்குத் தெரியாவிட்டால், இந்த உதாரணம் சிக்கலைத் தீர்க்க உதவும். என்ற கோப்பை உருவாக்கவும் read_file.sh எந்த நீட்டிப்பின் கோப்புப் பெயரையும் பெற பின்வரும் குறியீட்டைக் கொண்டு. கோப்பு பெயரிலிருந்து எந்த வகை நீட்டிப்பையும் அகற்ற இந்த எடுத்துக்காட்டில் `sed` கட்டளை பயன்படுத்தப்படுகிறது. நீங்கள் ஸ்கிரிப்டை இயக்கினால், வெளியீடு ' சராசரி நீட்டிப்பை அகற்றிய பிறகு ' பை '

read_file.sh

#!/பின்/பேஷ்
# கோப்பின் பெயரை பாதையுடன் அமைக்கவும்
கோப்பு பெயர்='/வீடு/fahmida/code/average.py'
# பாஸ்நேம் மற்றும் `செட்` கட்டளையைப் பயன்படுத்தி கோப்பு பெயரை நீட்டிப்பு இல்லாமல் படிக்கவும்
வெளியே எறிந்தார் '$ (அடிப்படை பெயர் '$ filename' | sed 's/ (.**) ..*/ 1/')'

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

$பேஷ்read_file.sh

எடுத்துக்காட்டு -6: கோப்பு நீட்டிப்பை txt இலிருந்து docx ஆக மாற்றவும்

நீட்டிப்பு இல்லாத கோப்பு பெயர் கோப்பை ஒரு நீட்டிப்பிலிருந்து இன்னொரு நீட்டிப்புக்கு மாற்ற வேண்டும். பாஷ் ஸ்கிரிப்டில் `பேஸ் நேம்` கட்டளையைப் பயன்படுத்தி அனைத்து உரை கோப்புகளின் (.txt) சொல் கோப்புகளாக (.docx) நீட்டிப்பை எவ்வாறு மாற்றலாம் என்பதை இந்த எடுத்துக்காட்டு காட்டுகிறது. என்ற கோப்பை உருவாக்கவும், convert_file.sh பின்வரும் குறியீட்டுடன். இங்கே, அனைத்து உரை கோப்புகளையும் படிக்க ஒரு ஃபார்-இன் லூப் பயன்படுத்தப்படுகிறது .txt தற்போதைய கோப்பகத்திலிருந்து நீட்டிப்பு. நீட்டிப்பு இல்லாத கோப்பு பெயர் `அடிப்படை பெயர்` கட்டளையால் படிக்கப்பட்டு, சுழற்சியின் ஒவ்வொரு மறு செய்கையிலும் .docx நீட்டிப்பைச் சேர்த்து மறுபெயரிடப்பட்டது.

convert_file.sh

#!/பின்/பேஷ்
# தற்போதைய கோப்பகத்திலிருந்து ஒவ்வொரு உரை கோப்பையும் வளையம் படிக்கும்
க்கானகோப்பு பெயர்இல் 'ls *.txt'
செய்
# மாற்றத்திற்கு முன் உரை கோப்பு பெயரை அச்சிடவும்
வெளியே எறிந்தார் மாற்றத்திற்கு முன் கோப்பு பெயர்:$ கோப்பு பெயர்'
# கோப்பு txt இன் நீட்டிப்பை docx க்கு மாற்றவும்
எம்வி - '$ கோப்பு பெயர்' '$ (அடிப்படை பெயர் - '$ கோப்பு பெயர்' .txt).docx '
முடிந்தது

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

$பேஷ்convert_file.sh

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

$ls

எடுத்துக்காட்டு -7: ஷெல் அளவுரு விரிவாக்கத்தைப் பயன்படுத்தி கோப்பு பெயரை நீட்டிப்பு இல்லாமல் படிக்கவும்

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

$கோப்பு பெயர்='/var/usr/temp/myfile.tar.gz'

பின்வரும் கட்டளை பாதையில் இருந்து அனைத்து வகையான நீட்டிப்புகளையும் நீக்கி, கோப்பில் பாதையை நீட்டிப்பு இல்லாமல் மாறியில் சேமிக்கும், $ file1 .

$கோப்பு 1='$ {கோப்பு பெயர் %%.*}'

பின்வரும் கட்டளை கோப்பின் பெயரை பாதையிலிருந்து மட்டுமே அச்சிடும். இங்கே, வெளியீடு ' myfile '

$வெளியே எறிந்தார் '$ {file1 ##*/}'

கோப்பு பெயரில் இரண்டு புள்ளிகளுடன் (.) இரண்டு நீட்டிப்புகள் இருந்தால் மற்றும் கோப்பின் கடைசி நீட்டிப்பை நீக்கி கோப்பு பெயரை படிக்க விரும்பினால் நீங்கள் பின்வரும் கட்டளையைப் பயன்படுத்த வேண்டும். கோப்பின் பாதையை மாறி மாறி சேமிக்கும் பின்வரும் கட்டளையை இயக்கவும், $ file 2 கோப்பின் கடைசி நீட்டிப்பை நீக்குவதன் மூலம்.

$கோப்பு 2='$ {கோப்பு பெயர்%.*}'

இப்போது, ​​ஒரு டாட் (.) நீட்டிப்புடன் கோப்பு பெயரை அச்சிட பின்வரும் கட்டளையை இயக்கவும். இங்கே, வெளியீடு இருக்கும் myfile.tar.

$வெளியே எறிந்தார் '$ {file2 ## * /}'

முடிவுரை

நீட்டிப்பு இல்லாத கோப்பு பெயர் பல்வேறு நோக்கங்களுக்காக தேவைப்படுகிறது. நீட்டிப்பு இல்லாமல் கோப்பு பெயரின் சில பயன்பாடுகள் கோப்பு மாற்றம் போன்ற சில உதாரணங்களைப் பயன்படுத்தி இந்த டுடோரியலில் விளக்கப்பட்டுள்ளன. இந்த டுடோரியல் கோப்புப் பாதையில் இருந்து கோப்பு பெயர் மற்றும் நீட்டிப்பைப் பிரிப்பதற்கான வழிகளைக் கற்றுக்கொள்ள ஆர்வமுள்ள பயனர்களுக்கு உதவும். இரண்டு வழிகள் இங்கே விளக்கப்பட்டுள்ளன. கோப்புப் பாதையில் இருந்து மட்டுமே கோப்புப் பெயரைப் பிரித்தெடுக்க பயனர் இந்த வழிகளில் ஏதேனும் ஒன்றைப் பின்பற்றலாம்.