ວິທີການໃຊ້ຜູ້ປະຕິບັດການປຽບທຽບກັບ Awk ໃນ Linux - ພາກທີ 4
ເມື່ອປະຕິບັດກັບຄ່າຕົວເລກຫລືສາຍໃນແຖວຂອງຂໍ້ຄວາມ, ການກັ່ນຕອງຂໍ້ຄວາມຫລືສາຍຕ່າງໆໂດຍໃຊ້ຕົວປະຕິບັດການປຽບທຽບແມ່ນມີປະໂຫຍດ ສຳ ລັບຜູ້ໃຊ້ ຄຳ ສັ່ງ Awk.
ໃນສ່ວນຂອງຊຸດ Awk ນີ້, ພວກເຮົາຈະພິຈາລະນາເບິ່ງວິທີທີ່ທ່ານສາມາດກັ່ນຕອງຂໍ້ຄວາມຫລືສາຍຕ່າງໆໂດຍໃຊ້ຕົວປະຕິບັດການປຽບທຽບ. ຖ້າທ່ານເປັນນັກຂຽນໂປຼແກຼມແລ້ວທ່ານຕ້ອງຄຸ້ນເຄີຍກັບຜູ້ປະຕິບັດການປຽບທຽບແລ້ວແຕ່ຜູ້ທີ່ບໍ່ແມ່ນ, ຂ້າພະເຈົ້າຂໍອະທິບາຍໃນພາກລຸ່ມນີ້
ຜູ້ປະຕິບັດການປຽບທຽບໃນ Awk ຖືກນໍາໃຊ້ເພື່ອປຽບທຽບມູນຄ່າຂອງຕົວເລກຫຼືສາຍແລະພວກມັນປະກອບມີດັ່ງຕໍ່ໄປນີ້:
<
>
- ໃຫຍ່ກວ່າ <
- ນ້ອຍກວ່າ > =
- ໃຫຍ່ກວ່າຫຼືເທົ່າກັບ <=
- ນ້ອຍກວ່າຫຼືເທົ່າກັບ ==
- ເທົ່າກັບ ! =
- ບໍ່ເທົ່າກັບ some_value ~/pattern/
- ແທ້ຈິງຖ້າວ່າບາງຂໍ້ມູນກົງກັບຮູບແບບ some_value! ~/pattern/
- ເປັນຄວາມຈິງຖ້າ some_value ບໍ່ກົງກັບຮູບແບບ ຕອນນີ້ພວກເຮົາໄດ້ເບິ່ງຜູ້ປະຕິບັດການປຽບທຽບຕ່າງໆໃນ Awk, ໃຫ້ພວກເຮົາເຂົ້າໃຈພວກເຂົາດີກວ່າໂດຍໃຊ້ຕົວຢ່າງ.
ໃນຕົວຢ່າງນີ້, ພວກເຮົາມີເອກະສານທີ່ມີຊື່ວ່າ food_list.txt ເຊິ່ງແມ່ນບັນຊີລາຍຊື່ການຊື້ເຄື່ອງ ສຳ ລັບອາຫານທີ່ແຕກຕ່າງກັນແລະຂ້ອຍຕ້ອງການ ໝາຍ ທຸງອາຫານທີ່ມີ ຈຳ ນວນ ໜ້ອຍ ກວ່າຫຼືເທົ່າກັບ 20 ໂດຍການເພີ່ມ (**)
ໃນຕອນທ້າຍຂອງແຕ່ລະເສັ້ນ.
No Item_Name Quantity Price 1 Mangoes 45 $3.45 2 Apples 25 $2.45 3 Pineapples 5 $4.45 4 Tomatoes 25 $3.45 5 Onions 15 $1.45 6 Bananas 30 $3.45
syntax ທົ່ວໄປ ສຳ ລັບຜູ້ ນຳ ໃຊ້ປຽບທຽບໃນ Awk ແມ່ນ:
# expression { actions; }
ເພື່ອບັນລຸເປົ້າ ໝາຍ ຂ້າງເທິງ, ຂ້ອຍຈະຕ້ອງ ດຳ ເນີນການ ຄຳ ສັ່ງດັ່ງລຸ່ມນີ້:
# awk '$3 <= 30 { printf "%s\t%s\n", $0,"**" ; } $3 > 30 { print $0 ;}' food_list.txt No Item_Name` Quantity Price 1 Mangoes 45 $3.45 2 Apples 25 $2.45 ** 3 Pineapples 5 $4.45 ** 4 Tomatoes 25 $3.45 ** 5 Onions 15 $1.45 ** 6 Bananas 30 $3.45 **
ໃນຕົວຢ່າງຂ້າງເທິງ, ມີສອງສິ່ງທີ່ ສຳ ຄັນທີ່ເກີດຂື້ນ:
<
ຕົວຢ່າງ ໜຶ່ງ ອີກ:
# awk '$3 <= 20 { printf "%s\t%s\n", $0,"TRUE" ; } $3 > 20 { print $0 ;} ' food_list.txt No Item_Name Quantity Price 1 Mangoes 45 $3.45 2 Apples 25 $2.45 3 Pineapples 5 $4.45 TRUE 4 Tomatoes 25 $3.45 5 Onions 15 $1.45 TRUE 6 Bananas 30 $3.45
ໃນຕົວຢ່າງນີ້, ພວກເຮົາຕ້ອງການຊີ້ບອກສາຍທີ່ມີປະລິມານ ໜ້ອຍ ຫລືເທົ່າກັບ 20 ກັບ ຄຳ ວ່າ (TRUE) ໃນຕອນທ້າຍ.
ບົດສະຫຼຸບ
ນີ້ແມ່ນ ຄຳ ແນະ ນຳ ແນະ ນຳ ສຳ ລັບຜູ້ປະຕິບັດການປຽບທຽບໃນ Awk, ດັ່ງນັ້ນທ່ານ ຈຳ ເປັນຕ້ອງລອງທາງເລືອກອື່ນອີກຫລາຍຢ່າງແລະຄົ້ນພົບຫລາຍຂື້ນ.
ໃນກໍລະນີທີ່ທ່ານປະສົບບັນຫາຫຼືການເພີ່ມເຕີມທີ່ທ່ານມີຢູ່ໃນໃຈ, ຫຼັງຈາກນັ້ນລົງ ຄຳ ເຫັນໃນສ່ວນ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້. ຢ່າລືມທີ່ຈະອ່ານພາກຕໍ່ໄປຂອງຊຸດ Awk ບ່ອນທີ່ຂ້ອຍຈະພາທ່ານໄປໂດຍການສະແດງອອກແບບປະສົມ.