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