কমান্ড ভার্বোজ আউটপুট সন্ধান করুন


46

findএটি কী করছে (ভার্বোজ মোড) আউটপুট করার জন্য ব্যাশ কমান্ডকে বলার উপায় আছে ?

কমান্ডের উদাহরণস্বরূপ: find /media/1Tb/videos -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;আউটপুট থেকে:

Found /media/1Tb/videos/102, executing rm -rf /media/1Tb/videos/102
...

উত্তর:


62

আপনি কিছু দিয়ে সমঝোতা করতে পারেন -printf, তবে সবচেয়ে সহজতমটি কেবল -printশেষে শেষ করা ack এটি সফলভাবে মোছা হয়েছে তা প্রদর্শিত হবে।


এই উত্তরটি ব্যবহার করার সময় কোনও কিছুর জন্য প্রয়োগ করা যেতে পারে find, তাই থাম্বস আপ করুন
অ্যালেক্স

আমার findভালবাসা আরেকটি সামান্য আরেকটু বৃদ্ধি। ধন্যবাদ :)
দারাগ এনরাট

8
আমার জন্য, "-exec rm -vf {} \" ব্যবহার করে; আরও ভাল কাজ
jangofan

1
নিস! সাথে -delete খুব ওয়ার্কস find -L . -type l -delete -print
runlevel0

19

কিভাবে শুধু rm -vfভার্বোজ আরএম আউটপুট ব্যবহার করার জন্য।

$ touch file1 file2 file3
$ find . -name "file?" -exec rm -vf {} \;
removed `./file2'
removed `./file3'
removed `./file1'

জন্য বাগাড়ম্বরপূর্ণ বিকল্প rmশীতল কিন্তু যদি আমি এটা কিছু দিয়ে প্রতিস্থাপিত অন্য আমি আর তা দেখতে পারেন ফাইল কাজ হচ্ছে (যদি না আমি ব্যবহার echoভিতরে -exec)
অ্যালেক্স

8

একটি বিকল্প হ'ল কমান্ডগুলি দ্বারা সম্পাদিত হওয়া sh -x:

$ find . -type f -print0 | xargs -0 -n1 echo rm | sh -x
+ rm ./file1
+ rm ./file2
+ rm ./file3

shell debugমোড যা হয়েছে তা সম্পর্কে যথেষ্ট পরিষ্কার হবে। ধন্যবাদ
sdkks

1

find -D xxxxকিছু ক্ষেত্রে সাহায্য করতে পারে যে এছাড়াও আছে ।

 $ find -D help
 Valid arguments for -D:
 help       Explain the various -D options
 tree       Display the expression tree
 search     Navigate the directory tree verbosely
 stat       Trace calls to stat(2) and lstat(2)
 rates      Indicate how often each predicate succeeded
 opt        Show diagnostic information relating to optimisation
 exec       Show diagnostic information relating to -exec, -execdir, -ok and -okdir

নীচে দুটি উদাহরণ দেওয়া হল find -D search:

RHEL 6.3 ( findv4.4) ব্যবহার করে :

$ mkdir -p aa/bb
$ touch aa/11 aa/22 aa/33 aa/bb/44 aa/bb/55
$ find -D search aa -type f -delete
consider_visiting: fts_info=FTS_D , fts_level= 0, prev_depth=-2147483648 fts_path=`aa', fts_accpath=`aa'
consider_visiting: fts_info=FTS_D , fts_level= 1, prev_depth=0 fts_path=`aa/bb', fts_accpath=`bb'
consider_visiting: fts_info=FTS_NSOK, fts_level= 2, prev_depth=1 fts_path=`aa/bb/55', fts_accpath=`55'
consider_visiting: fts_info=FTS_NSOK, fts_level= 2, prev_depth=2 fts_path=`aa/bb/44', fts_accpath=`44'
consider_visiting: fts_info=FTS_DP, fts_level= 1, prev_depth=2 fts_path=`aa/bb', fts_accpath=`bb'
consider_visiting: fts_info=FTS_NSOK, fts_level= 1, prev_depth=1 fts_path=`aa/22', fts_accpath=`22'
consider_visiting: fts_info=FTS_NSOK, fts_level= 1, prev_depth=1 fts_path=`aa/33', fts_accpath=`33'
consider_visiting: fts_info=FTS_NSOK, fts_level= 1, prev_depth=1 fts_path=`aa/11', fts_accpath=`11'
consider_visiting: fts_info=FTS_DP, fts_level= 0, prev_depth=1 fts_path=`aa', fts_accpath=`aa'
$ find --version
find (GNU findutils) 4.4.2
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Eric B. Decker, James Youngman, and Kevin Dalley.
Built using GNU gnulib version e5573b1bad88bfabcda181b9e0125fb0c52b7d3b
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION SELINUX FTS() CBO(level=0)

সাইগউইন 1.7 ( find4.5) ব্যবহার করে :

$ mkdir -p aa/bb
$ touch aa/11 aa/22 aa/33 aa/bb/44 aa/bb/55
$ find -D search aa -type f -delete
consider_visiting (early): 'aa': fts_info=FTS_D , fts_level= 0, prev_depth=-2147483648 fts_path='aa', fts_accpath='aa'
consider_visiting (late): 'aa': fts_info=FTS_D , isdir=1 ignore=1 have_stat=1 have_type=1
consider_visiting (early): 'aa/11': fts_info=FTS_NSOK, fts_level= 1, prev_depth=0 fts_path='aa/11', fts_accpath='11'
consider_visiting (late): 'aa/11': fts_info=FTS_NSOK, isdir=0 ignore=0 have_stat=0 have_type=1
consider_visiting (early): 'aa/22': fts_info=FTS_NSOK, fts_level= 1, prev_depth=1 fts_path='aa/22', fts_accpath='22'
consider_visiting (late): 'aa/22': fts_info=FTS_NSOK, isdir=0 ignore=0 have_stat=0 have_type=1
consider_visiting (early): 'aa/33': fts_info=FTS_NSOK, fts_level= 1, prev_depth=1 fts_path='aa/33', fts_accpath='33'
consider_visiting (late): 'aa/33': fts_info=FTS_NSOK, isdir=0 ignore=0 have_stat=0 have_type=1
consider_visiting (early): 'aa/bb': fts_info=FTS_D , fts_level= 1, prev_depth=1 fts_path='aa/bb', fts_accpath='bb'
consider_visiting (late): 'aa/bb': fts_info=FTS_D , isdir=1 ignore=1 have_stat=1 have_type=1
consider_visiting (early): 'aa/bb/44': fts_info=FTS_NSOK, fts_level= 2, prev_depth=1 fts_path='aa/bb/44', fts_accpath='44'
consider_visiting (late): 'aa/bb/44': fts_info=FTS_NSOK, isdir=0 ignore=0 have_stat=0 have_type=1
consider_visiting (early): 'aa/bb/55': fts_info=FTS_NSOK, fts_level= 2, prev_depth=2 fts_path='aa/bb/55', fts_accpath='55'
consider_visiting (late): 'aa/bb/55': fts_info=FTS_NSOK, isdir=0 ignore=0 have_stat=0 have_type=1
consider_visiting (early): 'aa/bb': fts_info=FTS_DP, fts_level= 1, prev_depth=2 fts_path='aa/bb', fts_accpath='bb'
consider_visiting (late): 'aa/bb': fts_info=FTS_DP, isdir=1 ignore=0 have_stat=1 have_type=1
consider_visiting (early): 'aa': fts_info=FTS_DP, fts_level= 0, prev_depth=1 fts_path='aa', fts_accpath='aa'
consider_visiting (late): 'aa': fts_info=FTS_DP, isdir=1 ignore=0 have_stat=1 have_type=1
$ find --version
find (GNU findutils) 4.5.11
Packaged by Cygwin (4.5.11-1)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Eric B. Decker, James Youngman, and Kevin Dalley.
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION FTS(FTS_CWDFD) CBO(level=2)

1

@ হলভদাভের উত্তর আমার পক্ষে যথেষ্ট তবে আমি নিজের ব্যবহারের জন্য কিছু পরিবর্তন করেছি

find . -name 'application*.yml' -print0 | xargs -0 -I %% bash -c 'rm -v "$1"' -- "%%"

ব্যাখ্যা

  1. আবিষ্কার
  2. pattern
  3. মুদ্রণটি nullপৃথক করা হয়েছে, গুরুত্বপূর্ণ যদি আপনার কাছে ফাঁকা জায়গা বা এতে অস্বাভাবিক অক্ষরযুক্ত ফাইলের নাম থাকে
  4. xargsপড়া nullপৃথক, এর প্রতিটি রেকর্ডের স্থানধারক সেট %% এটাও প্রত্যেক সময় এটা শুধুমাত্র একটি আর্গুমেন্ট ব্যবহার নিশ্চিত করে
  5. bash কমান্ড, ওয়ান-লাইনার, কিছু ভিতরে ,ুকে যায়, অবশ্যই একক উদ্ধৃত হওয়া উচিত '
  6. --এর অর্থ আমি এর পরে যা কিছু করি তা না হয় বিকল্প xargsবা bashআমার বিকল্পের লাইন স্ক্রিপ্টের অবস্থানগত পরামিতি
  7. স্থানধারককে এটি উদ্ধৃত করে একক যুক্তি হিসাবে দেওয়া হয়, একক বা ডাবল উদ্ধৃতি কোনও বিষয় নয় matter আপনি যদি ডাবল উদ্ধৃতি ব্যবহার করেন তবে আপনি শেল ভেরিয়েবলগুলিও সন্নিবেশ করতে পারেন।
  8. bashস্ক্রিপ্টের ভিতরে , আপনি স্থিতি যুক্তি নং # 1 %%হিসাবে অ্যাক্সেস করতে পারেন can$1

দ্রষ্টব্য: আপনি যে %%কোনও কিছুর সাথে পরিবর্তন করতে পারেন , কেবলমাত্র নিশ্চিত হয়ে নিন যে এটির স্থানধারক ছাড়া অন্য কোনও কিছুর জন্য আপনার এটি ব্যবহার করার দরকার নেই। ডলার ব্যবহার $বা @ভালো না হতে পারে, যদি না তা ডবল এর @মত @@

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.