തുടക്കക്കാർക്കുള്ള Linux Xargs കമാൻഡിന്റെ 12 പ്രായോഗിക ഉദാഹരണങ്ങൾ


സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിൽ നിന്ന് ഡാറ്റയുടെ സ്ട്രീമുകൾ വായിക്കുകയും തുടർന്ന് കമാൻഡ് ലൈനുകൾ സൃഷ്ടിക്കുകയും നടപ്പിലാക്കുകയും ചെയ്യുന്ന ഒരു മികച്ച കമാൻഡ് ആണ് Xargs; അതിനർത്ഥം ഒരു കമാൻഡിന്റെ ഔട്ട്uപുട്ട് എടുത്ത് മറ്റൊരു കമാൻഡിന്റെ ആർഗ്യുമെന്റായി പാസ്സാക്കാനാകും. കമാൻഡ് ഒന്നും വ്യക്തമാക്കിയിട്ടില്ലെങ്കിൽ, xargs സ്ഥിരസ്ഥിതിയായി എക്കോ എക്സിക്യൂട്ട് ചെയ്യുന്നു. stdin-ന് പകരം ഒരു ഫയലിൽ നിന്നുള്ള ഡാറ്റ വായിക്കാനും നിങ്ങൾ പലരും നിർദ്ദേശിക്കുന്നു.

കമാൻഡ് ലൈനിന്റെ ദൈനംദിന ഉപയോഗത്തിൽ xargs ഉപയോഗപ്രദമാകുന്ന നിരവധി മാർഗങ്ങളുണ്ട്. ഈ ലേഖനത്തിൽ, തുടക്കക്കാർക്കുള്ള 12 പ്രായോഗിക Linux xargs കമാൻഡ് ഉദാഹരണങ്ങൾ ഞങ്ങൾ വിശദീകരിക്കും.

1. എല്ലാ .png ചിത്രങ്ങളും എങ്ങനെ കണ്ടെത്താമെന്നും ടാർ യൂട്ടിലിറ്റി ഉപയോഗിച്ച് അവയെ എങ്ങനെ ആർക്കൈവ് ചെയ്യാമെന്നും ആദ്യ ഉദാഹരണം കാണിക്കുന്നു.

ഇവിടെ, -print0 എന്ന പ്രവർത്തന കമാൻഡ് സ്റ്റാൻഡേർഡ് ഔട്ട്uപുട്ടിൽ പൂർണ്ണ ഫയൽ പാതയുടെ പ്രിന്റിംഗ് പ്രവർത്തനക്ഷമമാക്കുന്നു, തുടർന്ന് ഒരു ശൂന്യ പ്രതീകവും -0 xargs ഫ്ലാഗ് ഫയൽനാമങ്ങളിലെ ഇടം ഫലപ്രദമായി കൈകാര്യം ചെയ്യുന്നു.

$ find Pictures/tecmint/ -name "*.png" -type f -print0 | xargs -0 tar -cvzf images.tar.gz

2. നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ xargs ഉപയോഗിച്ച് ls കമാൻഡിൽ നിന്നുള്ള muti-line ഔട്ട്പുട്ട് സിംഗിൾ ലൈനിലേക്ക് പരിവർത്തനം ചെയ്യാം.

$ ls -1 Pictures/tecmint/
$ ls -1 Pictures/tecmint/ | xargs

3. സിസ്റ്റത്തിലെ എല്ലാ ലിനക്സ് ഉപയോക്തൃ അക്കൗണ്ടുകളുടെയും ഒരു കോംuപാക്റ്റ് ലിസ്റ്റ് സൃഷ്ടിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

$ cut -d: -f1 < /etc/passwd | sort | xargs

4. നിങ്ങൾക്ക് ഫയലുകളുടെ ഒരു ലിസ്റ്റ് ഉണ്ടെന്ന് കരുതുക, കൂടാതെ ലിസ്റ്റിലെ ഓരോ ഫയലിലെയും വരികൾ/പദങ്ങൾ/അക്ഷരങ്ങൾ എന്നിവയുടെ എണ്ണം അറിയാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഈ ആവശ്യത്തിനായി നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ ls കമാൻഡും xarg-ഉം ഉപയോഗിക്കാം.

$ ls *upload* | xargs wc

5. ഒരു ഡയറക്uടറി കണ്ടെത്താനും ആവർത്തിച്ച് നീക്കം ചെയ്യാനും Xarags നിങ്ങളെ അനുവദിക്കുന്നു, ഉദാഹരണത്തിന് ഇനിപ്പറയുന്ന കമാൻഡ് ഡൌൺലോഡുകൾ എന്ന ഡയറക്uടറിയിലെ DomTerm ആവർത്തിച്ച് നീക്കം ചെയ്യും.

$ find Downloads -name "DomTerm" -type d -print0 | xargs -0 /bin/rm -v -rf "{}"

6. മുമ്പത്തെ കമാൻഡിന് സമാനമായി, നിങ്ങൾക്ക് നിലവിലെ ഡയറക്uടറിയിൽ net_stats എന്ന് പേരുള്ള എല്ലാ ഫയലുകളും കണ്ടെത്താനും അവ ഇല്ലാതാക്കാനും കഴിയും.

$ find . -name "net_stats" -type f -print0 | xargs -0 /bin/rm -v -rf "{}"

7. അടുത്തതായി, ഒരേസമയം ഒന്നിലധികം ഡയറക്ടറികളിലേക്ക് ഒരു ഫയൽ പകർത്താൻ xargs ഉപയോഗിക്കുക; ഈ ഉദാഹരണത്തിൽ ഞങ്ങൾ ഫയൽ പകർത്താൻ ശ്രമിക്കുന്നു.

$ echo ./Templates/ ./Documents/ | xargs -n 1 cp -v ./Downloads/SIC_Template.xlsx 

8. ഒരു പ്രത്യേക ഡയറക്uടറിയിലെ എല്ലാ ഫയലുകളുടെയും സബ്uഡയറക്uടറികളുടെയും പേരുമാറ്റാൻ നിങ്ങൾക്ക് പുനർനാമകരണ കമാൻഡുകൾ ഒരുമിച്ച് ഉപയോഗിക്കാം.

$ find Documnets -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

9. xargs-നുള്ള ഉപയോഗപ്രദമായ മറ്റൊരു ഉപയോഗ ഉദാഹരണം ഇതാ, തന്നിരിക്കുന്ന എക്സ്റ്റൻഷനുള്ള ഒന്നോ അതിലധികമോ ഫയലുകൾ ഒഴികെ ഒരു ഡയറക്ടറിയിലെ എല്ലാ ഫയലുകളും എങ്ങനെ ഇല്ലാതാക്കാമെന്ന് ഇത് കാണിക്കുന്നു.

$ find . -type f -not -name '*gz' -print0 | xargs -0 -I {} rm -v {}

10. നേരത്തെ സൂചിപ്പിച്ചതുപോലെ, -a ഫ്ലാഗ് ഉപയോഗിച്ച് സ്റ്റാൻഡേർഡ് ഇൻപുട്ടിന് പകരം ഒരു ഫയലിൽ നിന്ന് ഇനങ്ങൾ വായിക്കാൻ നിങ്ങൾക്ക് xargs-നോട് നിർദ്ദേശിക്കാം.

$ xargs -a rss_links.txt

11. നിങ്ങൾക്ക് -t ഫ്ലാഗ് ഉപയോഗിച്ച് വെർബോസിറ്റി പ്രവർത്തനക്ഷമമാക്കാം, അത് എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് സ്റ്റാൻഡേർഡ് എറർ ഔട്ട്പുട്ടിൽ കമാൻഡ് ലൈൻ പ്രിന്റ് ചെയ്യാൻ xargs-നോട് പറയുന്നു.

$ find Downloads -name "DomTerm" -type d -print0 | xargs -0 -t /bin/rm -rf "{}"

12. ഡിഫോൾട്ടായി, ശൂന്യമായ ഇടങ്ങൾ ഉപയോഗിച്ച് ഇനങ്ങളെ xargs അവസാനിപ്പിക്കുന്നു/ഡീലിമിറ്റ് ചെയ്യുന്നു, നിങ്ങൾക്ക് -d ഫ്ലാഗ് ഉപയോഗിച്ച് ഡിലിമിറ്റർ സജ്ജീകരിക്കാം, അത് ഒരൊറ്റ പ്രതീകമായിരിക്കാം, പോലെയുള്ള C-സ്റ്റൈൽ പ്രതീക എസ്കേപ്പ്. , അല്ലെങ്കിൽ ഒരു ഒക്ടൽ അല്ലെങ്കിൽ ഹെക്സാഡെസിമൽ എസ്കേപ്പ് കോഡ്.

കൂടാതെ, കാണിച്ചിരിക്കുന്നതുപോലെ -p ഫ്ലാഗ് ഉപയോഗിച്ച് ഓരോ കമാൻഡ് ലൈനും പ്രവർത്തിപ്പിക്കേണ്ടതും ടെർമിനലിൽ നിന്ന് ഒരു ലൈൻ വായിക്കേണ്ടതും നിങ്ങൾക്ക് ഉപയോക്താവിനോട് ആവശ്യപ്പെടാം (ഇതിനായി y എന്ന് ടൈപ്പ് ചെയ്യുക. അതെ അല്ലെങ്കിൽ ഇല്ല എന്നതിന് n).

$ echo ./Templates/ ./Documents/ | xargs -p -n 1 cp -v ./Downloads/SIC_Template.xlsx 

കൂടുതൽ വിവരങ്ങൾക്ക്, xargs മാൻ പേജ് വായിക്കുക.

$ man xargs 

തൽക്കാലം അത്രമാത്രം! ഒരു കമാൻഡ് ലൈൻ നിർമ്മിക്കുന്നതിനുള്ള ഒരു ശക്തമായ യൂട്ടിലിറ്റിയാണ് Xargs; പ്രോസസ്സിംഗിനായി മറ്റൊരു കമാൻഡിന്റെ ആർഗ്യുമെന്റായി ഒരു കമാൻഡിന്റെ ഔട്ട്പുട്ട് കൈമാറാൻ ഇത് നിങ്ങളെ സഹായിക്കും. ഈ ലേഖനത്തിൽ, തുടക്കക്കാർക്കായി ഞങ്ങൾ 12 പ്രായോഗിക xargs കമാൻഡ് ഉദാഹരണങ്ങൾ വിശദീകരിച്ചു. ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം വഴി നിങ്ങളുടെ ചിന്തകളോ ചോദ്യങ്ങളോ ഞങ്ങളുമായി പങ്കിടുക.