مشکل با دستور sed
سلام آِیا این دستور مشکلی داره یا ن
cat /etc/passwd | sed '57 s/bash/no-login/' > /etc/passwd
من اینو میزنم کلا دیتای فایل رو پاک میکنه ولی وقتی /etc/passwd/ < اینو از اخرش پاک میکنم اوکی هس و نشون میده ولی من میخام فایل رو هم تغییر بدم نمیشه
2 پاسخ
با سلام
خروجی فرمان cat /etc/passwd | sed '57 s/bash/no-login/' برای شما لیست کاربرانی را نمایش میده که شل های bash یا no-login استفاده می کند، هدف شما از اجرا این فرمان چیست؟
در صورتی که شما از < و نام فایل استفاده نمایید خروجی فرمان شما به صورت کامل در فایل مورد نظر جایگزین می شود؛ اگر از << استفاده نمایید خروجی فرمان شما به انتهای فایل مورد نظر اضافه می شود.
در فرمان کلی شما باز نویسی خروجی فرمان sed شما مجدد برروی فایل /etc/passwd منطقی نبود و باعث حدف شدن کلید بخشهای دیگر فایل /etc/passwd می شود.
والا می خاستم خط 57 رو اون دوتا کلمه رو ریپلیس کنمشون بعد هی پاک میشدن بعد ی راهی پیدا کردم ک غیر منطقی بود ک ی فایل دیگه درست کردم خروجی رو توی اون ریختم بعد اسمشو بع فایل اصلی تغییر دادم و درست شدش