0 کاربر و 3 مهمان درحال مشاهده موضوع.
نقلقول از: alend در 30 امرداد 1394، 12:13 بظبعدش اگر ۷۵ هم در متن باشد می شود یک باگ پر دردسر!توی عبارات با قاعده، ^ به ابتدای خط اشاره میکنه. پس:کد: [انتخاب]cat -n <FILE> | grep ^75ویرایش: چون خروجی cat اولش فاصله داره به این شکل تغییر میکنه:کد: [انتخاب]cat -n <FILE> | grep '^\s*75'برای راحتی بیشتر، یه تابع برای این کار توی bash.rc درست میکنم:کد: [انتخاب]print_line() { cat -n $2 | grep "^\s*$1"}
بعدش اگر ۷۵ هم در متن باشد می شود یک باگ پر دردسر!
cat -n <FILE> | grep ^75
cat -n <FILE> | grep '^\s*75'
print_line() { cat -n $2 | grep "^\s*$1"}
نقلقول از: محمدامین در 30 امرداد 1394، 05:25 بظنقلقول از: alend در 30 امرداد 1394، 12:13 بظبعدش اگر ۷۵ هم در متن باشد می شود یک باگ پر دردسر!توی عبارات با قاعده، ^ به ابتدای خط اشاره میکنه. پس:کد: [انتخاب]cat -n <FILE> | grep ^75ویرایش: چون خروجی cat اولش فاصله داره به این شکل تغییر میکنه:کد: [انتخاب]cat -n <FILE> | grep '^\s*75'برای راحتی بیشتر، یه تابع برای این کار توی bash.rc درست میکنم:کد: [انتخاب]print_line() { cat -n $2 | grep "^\s*$1"}بعدش هم باید ستون اول را پاک کنید!
print_line() { cat -n "$2" | grep "^\s*$1" | sed -r -e 's/^\s+[0-9]+\s*//'; }