আপনি ব্যবহার করতে পারে sed
'র w
পারেন সঙ্গে পতাকা /dev/stderr
, /dev/tty
, /dev/fd/2
আপনার সিস্টেমে সমর্থিত হয়। যেমন একটি ইনপুট সহ উদাহরণস্বরূপ file
:
foo first
second: missing
third: foo
none here
চলমান
sed -i '/foo/{
s//bar/g
w /dev/stdout
}' file
আউটপুট:
bar first
third: bar
যদিও file
বিষয়বস্তুতে এতে পরিবর্তন করা হয়েছিল:
bar first
second: missing
third: bar
none here
সুতরাং আপনার ক্ষেত্রে, চলমান:
find . -type f -printf '\n%p:\n' -exec sed -i '/foo/{
s//bar/g
w /dev/fd/2
}' {} \;
জায়গাগুলি এবং আউটপুট ফাইলগুলি সম্পাদনা করবে:
./file1:
বার স্টাফ
আরও বার
./file2:
./file3:
প্রথম বার
তৃতীয়: বার
আপনি যেমন কিছু মুদ্রণ করতে পারেন original line >>> modified line
:
find . -type f -printf '\n%p:\n' -exec sed -i '/foo/{
h
s//bar/g
H
x
s/\n/ >>> /
w /dev/fd/2
x
}' {} \;
জায়গাগুলি এবং আউটপুটগুলিতে ফাইলগুলি সম্পাদনা করে:
./file1:
foo স্টাফ >>> বার স্টাফ
আরও foo >>> আরও বার
./file2:
./file3:
foo first >>> প্রথমে বার করুন
তৃতীয়: foo >>> তৃতীয়: বার
for x in `find . -type f`; do echo ///File $x: ; sed --quiet 's/abc/def/gp' $x; done