ວິທີການອ່ານການປ້ອນຂໍ້ມູນ Awk ຈາກ STDIN ໃນ Linux - ພາກທີ 7


ໃນພາກກ່ອນຂອງຊຸດເຄື່ອງມື Awk, ພວກເຮົາໄດ້ເບິ່ງການປ້ອນຂໍ້ມູນການອ່ານສ່ວນຫຼາຍແມ່ນມາຈາກແຟ້ມເອກະສານ, ແຕ່ວ່າຈະເປັນແນວໃດຖ້າທ່ານຕ້ອງການອ່ານການປ້ອນຂໍ້ມູນຈາກ STDIN.

ໃນພາກ 7 ຂອງຊຸດ Awk ນີ້, ພວກເຮົາຈະເບິ່ງບາງຕົວຢ່າງທີ່ທ່ານສາມາດກັ່ນຕອງຜົນຜະລິດຂອງ ຄຳ ສັ່ງອື່ນໆແທນທີ່ຈະອ່ານການປ້ອນຂໍ້ມູນຈາກແຟ້ມເອກະສານ.

ພວກເຮົາຈະເລີ່ມຕົ້ນດ້ວຍ ຄຳ ສັ່ງ ls, ໃນຕົວຢ່າງ ທຳ ອິດຂ້າງລຸ່ມນີ້, ພວກເຮົາ ນຳ ໃຊ້ຜົນຜະລິດຂອງ ຄຳ ສັ່ງ dir -l ເພື່ອເປັນການປ້ອນຂໍ້ມູນໃຫ້ Awk ເພື່ອພິມຊື່ຜູ້ ນຳ ໃຊ້, ຊື່ກຸ່ມແລະເອກະສານທີ່ລາວເປັນເຈົ້າຂອງໃນປະຈຸບັນ ໄດເລກະທໍລີ:

# dir -l | awk '{print $3, $4, $9;}'

ເບິ່ງຕົວຢ່າງອື່ນທີ່ພວກເຮົາໃຊ້ການສະແດງອອກທີ່ງຸ່ມງ່າມ, ນີ້, ພວກເຮົາຕ້ອງການທີ່ຈະພິມເອກະສານທີ່ເປັນເຈົ້າຂອງໂດຍຜູ້ໃຊ້ຮາກໂດຍໃຊ້ ສຳ ນວນສະແດງຕົວກອງເພື່ອໃຊ້ສາຍຕ່າງໆຄືກັບ ຄຳ ສັ່ງ awk ຂ້າງລຸ່ມນີ້:

# dir -l | awk '$3=="root" {print $1,$3,$4, $9;} '

ຄຳ ສັ່ງຂ້າງເທິງນີ້ປະກອບມີຜູ້ປະຕິບັດການປຽບທຽບ (==) ເພື່ອຊ່ວຍພວກເຮົາກັ່ນຕອງເອກະສານໃນໄດເລກະທໍລີປັດຈຸບັນທີ່ເປັນເຈົ້າຂອງໂດຍຜູ້ໃຊ້ຮາກ. ສິ່ງນີ້ປະສົບຜົນ ສຳ ເລັດໂດຍໃຊ້ ຄຳ ວ່າ $3 ==” ຮາກ” .

ໃຫ້ພວກເຮົາເບິ່ງຕົວຢ່າງອື່ນຂອງບ່ອນທີ່ພວກເຮົາໃຊ້ຜູ້ປະຕິບັດການປຽບທຽບທີ່ງຸ່ມງ່າມເພື່ອໃຫ້ກົງກັບສາຍສະເພາະ.

ໃນນີ້, ພວກເຮົາໄດ້ ນຳ ໃຊ້ອຸປະກອນແມວເພື່ອເບິ່ງເນື້ອໃນຂອງເອກະສານທີ່ມີຊື່ວ່າ tecmint_deals.txt ແລະພວກເຮົາຕ້ອງການເບິ່ງຂໍ້ສະ ເໜີ ຂອງປະເພດ Tech ເທົ່ານັ້ນ, ສະນັ້ນພວກເຮົາຕ້ອງ ດຳ ເນີນການ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້:

# cat tecmint_deals.txt
# cat tecmint_deals.txt | awk '$4 ~ /tech/{print}'
# cat tecmint_deals.txt | awk '$4 ~ /Tech/{print}'

ໃນຕົວຢ່າງຂ້າງເທິງ, ພວກເຮົາໄດ້ ນຳ ໃຊ້ຕົວປະຕິບັດການປຽບທຽບທີ່ມີຄຸນຄ່າ ~/pattern/, ແຕ່ມີສອງ ຄຳ ສັ່ງທີ່ຈະພະຍາຍາມແລະ ນຳ ເອົາສິ່ງທີ່ ສຳ ຄັນຫຼາຍ.

ເມື່ອທ່ານປະຕິບັດ ຄຳ ສັ່ງທີ່ມີຮູບແບບເຕັກໂນໂລຢີບໍ່ມີຫຍັງຖືກພິມອອກເພາະວ່າມັນບໍ່ມີການຈັດການແບບນັ້ນ, ແຕ່ວ່າກັບເທັກ, ທ່ານໄດ້ຮັບຂໍ້ສະ ເໜີ ກ່ຽວກັບປະເພດ Tech.

ສະນັ້ນຄວນລະມັດລະວັງສະ ເໝີ ເມື່ອ ນຳ ໃຊ້ຜູ້ປະຕິບັດການປຽບທຽບນີ້, ມັນເປັນເລື່ອງທີ່ລະອຽດອ່ອນດັ່ງທີ່ພວກເຮົາໄດ້ເຫັນມາຂ້າງເທິງ.

ທ່ານສາມາດ ນຳ ໃຊ້ຜົນຜະລິດຂອງ ຄຳ ສັ່ງອື່ນແທນທີ່ຈະເປັນການປ້ອນຂໍ້ມູນ ສຳ ລັບ awk ແທນທີ່ຈະອ່ານການປ້ອນຂໍ້ມູນຈາກແຟ້ມເອກະສານ, ນີ້ແມ່ນງ່າຍດາຍຫຼາຍທີ່ພວກເຮົາໄດ້ເບິ່ງໃນຕົວຢ່າງຂ້າງເທິງ.

ຫວັງວ່າຕົວຢ່າງຈະແຈ້ງ ສຳ ລັບທ່ານທີ່ຈະເຂົ້າໃຈ, ຖ້າທ່ານມີຄວາມກັງວົນໃຈ, ທ່ານສາມາດສະແດງອອກຜ່ານພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ແລະຈື່ ຈຳ ທີ່ຈະກວດເບິ່ງພາກຕໍ່ໄປຂອງຊຸດທີ່ພວກເຮົາຈະເບິ່ງຄຸນລັກສະນະທີ່ງຸ່ມງ່າມເຊັ່ນ: ຕົວແປ, ການສະແດງຕົວເລກແລະ ຜູ້ປະກອບການມອບ ໝາຍ.