35 – විධාන පෙළෙහි (command line) සෙවීමේ පහසුකම් (search facilities) (3 කොටස)

පසුගිය ලිපි මගින් උගත් find command හරහා ලබාදෙන ප්‍රථිපලය (result) මත අපට අවශ්‍ය විවිධ කටයුතු (actions) සිදු කරන ආකාරය අද සොයා බලමු. මෙහිදී මතක තබාගත යුතු කරුණක් නම් actions ලබාදෙන අනුපිළිවෙල මත අවසන් ප්‍රථිපලය (end result) වෙනස්වීමයි. සම්මත ලෙස find command සමග යෙදෙන actions කිහිපයක් පහත දක්වා ඇත.

-delete ⇒ මකා දැමීම.
-lsls -dils command ක්‍රියාත්මක කරයි. (වැඩිදුර තොරතුරු සඳහා command line පිලිබඳ මූලික ලිපි බලන්න.)
-print ⇒ සම්පූර්ණ පෙත (full path) පෙන්වීම. (වෙනත් actions දක්වා නැත්නම් සම්මතය මෙයයි.)
-quit ⇒ ගැළපෙන කිසියම් ප්‍රථිපලයක් (match) හමුවූ විගස command එකෙන් ඉවත්වීම සිදු කරයි.
find predefined actions

find commands සමග සම්මත ලෙස ලබාදෙන actions වෙනුවට අපට අවශ්‍ය වෙනත් ඕනෑම command එකක් ක්‍රියාත්මක කිරීමට (execute) පහත රීතිය (syntax) උපයෝගී කරගත හැකිය.

-exec <command_name> '{}' ';'

Command execute කිරීමට පෙර තහවුරු කරන ලෙස විමසීමක් (confirmation) අවශ්‍ය නම් -exec වෙනුවට -ok action ලබාදීමට පිළිවන.

-ok <command_name> '{}' ';'
find with exec

සටහන: -exec (හෝ -ok) යොදාගන්නා විට match වන සෑම file/directory එකක් සඳහාම නැවත නැවතත් අප ලබාදුන් command එක අලුත් ක්‍රියාවලියක් (process) ලෙස දියත් වන නිසා කාර්යක්‍ෂමතාව අඩුවේ. find command මගින් ලබාදෙන සියලු ප්‍රථිපල තනි command එකක් මගින් පමණක් හැසිරවීම සඳහා ; (semicolon) වෙනුවට + (plus) ලකුණ ලබාදිය හැකිය.

-exec <command_name> '{}' '+'

xargs

-exec යොදා ගැනීමකින් තොරව find command හි ප්‍රථිපලය ලැයිස්තුවක් ලෙස අපට අවශ්‍ය වෙනත් command එකකට ලබාදීමට xargs command උපයෝගී වේ. එහි රීතිය (syntax) පහත දක්වා ඇත.

<find test> | xargs <command_name>

සටහන: xargs සමග ලබාදිය හැකි ලැයිස්තුවෙහි සීමාවක් පවතී. එහි අගය බලාගැනීමට xargs –show-limits ලෙස ඇතුළත් කරන්න. command එකෙන් ඉවත්වීමට Ctrl + C ඔබන්න.

xargs limits

xargs command යොදා ගැනීමේදී filename හි හිස්තැන් (sapces) තිබීම ගැටලු ඇති කරයි. Files එකිනෙකින් වෙන්කර දැක්වීමට spaces භාවිතා වීම මෙයට හේතුවයි. spaces වෙනුවට null (අභිශුන්‍ය) භාවිතා කිරීමට find සමග -print0xargs සමග –null ද පහත පරිදි යොදාගැනීමට පිළිවන.

find . -name "*.jpg" -print0 | xargs --null ls -l

ප්‍රතිචාරයක් ලබාදෙන්න

Fill in your details below or click an icon to log in:

WordPress.com Logo

ඔබ අදහස් දක්වන්නේ ඔබේ WordPress.com ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Google photo

ඔබ අදහස් දක්වන්නේ ඔබේ Google ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Twitter picture

ඔබ අදහස් දක්වන්නේ ඔබේ Twitter ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )

Facebook photo

ඔබ අදහස් දක්වන්නේ ඔබේ Facebook ගිණුම හරහා ය. පිට වන්න /  වෙනස් කරන්න )