ນີ້ແມ່ນຄໍາສັ່ງ edplan9 ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
ed - ຕົວແກ້ໄຂຂໍ້ຄວາມ
ສະຫຼຸບສັງລວມ
ed [ - ] [ -o ] [ ເອກະສານ ]
ລາຍລະອຽດ
Ed ເປັນຕົວແກ້ໄຂຂໍ້ຄວາມທີ່ເຄົາລົບ.
ຖ້າຫາກວ່າເປັນ ເອກະສານ ການໂຕ້ຖຽງແມ່ນໃຫ້, ed simulates ຄໍາສັ່ງ (ເບິ່ງຂ້າງລຸ່ມນີ້) ໃນໄຟລ໌ນັ້ນ: ມັນໄດ້ຖືກອ່ານ
ເຂົ້າໄປໃນ ed ຂອງ buffer ເພື່ອໃຫ້ມັນສາມາດແກ້ໄຂໄດ້. ທາງເລືອກແມ່ນ
- ສະກັດກັ້ນການພິມຈໍານວນຕົວອັກສອນໂດຍແລະຄໍາສັ່ງແລະການຢືນຢັນໂດຍ
ຄຳ ສັ່ງ.
-o (ສໍາລັບທໍ່ຜົນຜະລິດ) ຂຽນຜົນຜະລິດທັງຫມົດໃສ່ໄຟລ໌ຄວາມຜິດພາດມາດຕະຖານຍົກເວັ້ນການຂຽນໂດຍ
ຄໍາສັ່ງ. ຖ້າບໍ່ມີ ເອກະສານ ແມ່ນໃຫ້, ເຮັດໃຫ້ /dev/stdout ໄຟລ ໌ ຈື່ ໄດ້ ; ເບິ່ງ
command below
Ed ດໍາເນີນການກ່ຽວກັບ 'buffer', ສໍາເນົາຂອງໄຟລ໌ທີ່ມັນຖືກແກ້ໄຂ; ການປ່ຽນແປງທີ່ສ້າງຂຶ້ນໃນ buffer
ບໍ່ມີຜົນຕໍ່ໄຟລ໌ຈົນກ່ວາຄໍາສັ່ງ (ຂຽນ) ຖືກມອບໃຫ້. ສໍາເນົາຂອງຂໍ້ຄວາມເປັນ
ການແກ້ໄຂຢູ່ໃນໄຟລ໌ຊົ່ວຄາວທີ່ເອີ້ນວ່າ buffer.
ຄໍາສັ່ງທີ່ຈະ ed ມີໂຄງສ້າງທີ່ງ່າຍດາຍແລະປົກກະຕິ: ສູນ, ຫນຶ່ງ, ຫຼືສອງ ທີ່ຢູ່ ປະຕິບັດຕາມ
ໂດຍຕົວລະຄອນດຽວ ຄໍາສັ່ງ, ອາດຈະປະຕິບັດຕາມໂດຍພາລາມິເຕີກັບຄໍາສັ່ງ. ເຫຼົ່ານີ້
ທີ່ຢູ່ລະບຸຫນຶ່ງຫຼືຫຼາຍແຖວໃນ buffer. ທີ່ຢູ່ຂາດແມ່ນສະໜອງໃຫ້ໂດຍ
Default
ໂດຍທົ່ວໄປ, ພຽງແຕ່ຫນຶ່ງຄໍາສັ່ງອາດຈະປາກົດຢູ່ໃນເສັ້ນ. ຄໍາສັ່ງທີ່ແນ່ນອນອະນຸຍາດໃຫ້ເພີ່ມຂອງ
ຂໍ້ຄວາມໄປຫາ buffer. ໃນຂະນະທີ່ ed ແມ່ນຍອມຮັບຂໍ້ຄວາມ, ມັນໄດ້ຖືກກ່າວວ່າຢູ່ໃນ ການປ້ອນຂໍ້ມູນ mode ໃນນີ້
ຮູບແບບ, ບໍ່ມີຄໍາສັ່ງຖືກຮັບຮູ້; ການປ້ອນຂໍ້ມູນທັງຫມົດແມ່ນພຽງແຕ່ເກັບກໍາ. ໂໝດປ້ອນຂໍ້ມູນຖືກປະໄວ້ໂດຍ
ພິມໄລຍະເວລາຢ່າງດຽວໃນຕອນຕົ້ນຂອງແຖວ.
Ed ສະຫນັບສະຫນູນ ປົກກະຕິ ການສະແດງອອກ notation ອະທິບາຍໃນ regexp(7). ການສະແດງອອກເປັນປົກກະຕິ
ຖືກນໍາໃຊ້ໃນທີ່ຢູ່ເພື່ອກໍານົດເສັ້ນແລະໃນຄໍາສັ່ງຫນຶ່ງ (ເບິ່ງ s ຂ້າງລຸ່ມນີ້) ເພື່ອກໍານົດ a
ສ່ວນຂອງເສັ້ນທີ່ຈະປ່ຽນແທນ. ຖ້າຫາກວ່າມັນແມ່ນຕ້ອງການທີ່ຈະນໍາໃຊ້ຫນຶ່ງຂອງປົກກະຕິ
expression metacharacters ເປັນຕົວລະຄອນທຳມະດາ, ຕົວອັກສອນນັ້ນອາດຈະຖືກນຳໜ້າດ້ວຍ `\'.
ອັນນີ້ຍັງໃຊ້ກັບຕົວລະຄອນທີ່ຜູກມັດການສະແດງອອກປົກກະຕິ (ເລື້ອຍໆ ແລະຕົວມັນເອງ.
ເພື່ອເຂົ້າໃຈທີ່ຢູ່ໃນ ed ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະຮູ້ວ່າໃນເວລາໃດກໍ່ຕາມມີ ໃນປະຈຸບັນ
ເສັ້ນ. ໂດຍທົ່ວໄປແລ້ວ, ເສັ້ນປະຈຸບັນແມ່ນເສັ້ນສຸດທ້າຍທີ່ໄດ້ຮັບຜົນກະທົບຈາກຄໍາສັ່ງ; ແນວໃດກໍ່ຕາມ, ໄດ້
ຜົນກະທົບທີ່ແນ່ນອນກ່ຽວກັບເສັ້ນປະຈຸບັນແມ່ນສົນທະນາພາຍໃຕ້ຄໍາອະທິບາຍຂອງແຕ່ລະຄໍາສັ່ງ.
ທີ່ຢູ່ແມ່ນຖືກສ້າງຂຶ້ນດັ່ງຕໍ່ໄປນີ້.
1. ລັກສະນະປົກກະຕິເອີ້ນວ່າ 'ຈຸດ', ທີ່ຢູ່ແຖວປະຈຸບັນ.
2. ຕົວອັກສອນທີ່ຢູ່ແຖວສຸດທ້າຍຂອງ buffer.
3. ຕົວເລກທົດສະນິຍົມ n ທີ່ຢູ່ n-th line ຂອງ buffer ໄດ້.
4. ´x ທີ່ຢູ່ ເສັ້ນທີ່ຫມາຍດ້ວຍຊື່ x, ເຊິ່ງຕ້ອງເປັນຕົວພິມນ້ອຍ.
ເສັ້ນຖືກຫມາຍດ້ວຍຄໍາສັ່ງ.
5. ສະແດງອອກເປັນປົກກະຕິທີ່ປິດຢູ່ໃນ slashes (ທີ່ຢູ່ແຖວທີ່ພົບເຫັນໂດຍການຊອກຫາ
ສົ່ງຕໍ່ຈາກເສັ້ນປະຈຸບັນແລະຢຸດຢູ່ແຖວທໍາອິດທີ່ມີສາຍ
ທີ່ກົງກັບການສະແດງຜົນປົກກະຕິ. ຖ້າຈໍາເປັນ, ການຄົ້ນຫາຈະອ້ອມຮອບໄປຫາ
ການເລີ່ມຕົ້ນຂອງ buffer ໄດ້.
6. ການສະແດງອອກແບບປົກກະຕິທີ່ປິດຢູ່ໃນແບບສອບຖາມແມ່ນຢູ່ແຖວທີ່ພົບເຫັນໂດຍການຊອກຫາ
ຖອຍຫຼັງຈາກເສັ້ນປະຈຸບັນ ແລະຢຸດຢູ່ແຖວທຳອິດທີ່ມີສາຍ
ທີ່ກົງກັບການສະແດງຜົນປົກກະຕິ. ຖ້າຈໍາເປັນ, ການຄົ້ນຫາຈະອ້ອມຮອບໄປຫາ
ສິ້ນສຸດຂອງ buffer ໄດ້.
7. ທີ່ຢູ່ຕາມດ້ວຍເຄື່ອງໝາຍບວກ ຫຼືເຄື່ອງໝາຍລົບຕາມດ້ວຍເລກທົດສະນິຍົມ
ລະບຸທີ່ຢູ່ນັ້ນບວກ (resp. minus) ຈຳນວນແຖວທີ່ລະບຸ. ບວກ
ປ້າຍອາດຈະຖືກລະເວັ້ນ.
8. ທີ່ຢູ່ຕາມມາດ້ວຍ (ຫຼືຕາມດ້ວຍສຳນວນປົກກະຕິທີ່ປິດດ້ວຍເຄື່ອງໝາຍເລກ
ລະບຸແຖວທີ່ກົງກັນທຳອິດຕໍ່ໄປນີ້ (ຫຼືກ່ອນໜ້າ) ທີ່ຢູ່ນັ້ນ. ໄດ້
ຄົ້ນຫາອ້ອມຮອບຖ້າຈໍາເປັນ. ອາດຈະຖືກຍົກເວັ້ນ, ສະນັ້ນການແກ້ໄຂ ຄັ້ງທໍາອິດ ອອນໄລນ໌
ໃນ buffer ກັບ enclosing ການສະແດງອອກປົກກະຕິໃນ reverses ການຊອກຫາ
ທິດທາງ.
9. ຖ້າທີ່ຢູ່ເລີ່ມຕົ້ນດ້ວຍ ຫຼືການບວກ ຫຼືການຫັກລົບແມ່ນປະຕິບັດກ່ຽວກັບ
ເສັ້ນປະຈຸບັນ; ຕົວຢ່າງແມ່ນເຂົ້າໃຈວ່າຫມາຍຄວາມວ່າ
10. ຖ້າທີ່ຢູ່ລົງທ້າຍດ້ວຍ ຫຼືຫຼັງຈາກນັ້ນ 1 ຈະຖືກເພີ່ມ (resp. subtracted). ເປັນຜົນມາຈາກ
ກົດລະບຽບນີ້ແລະກົດລະບຽບ 9, ທີ່ຢູ່ຫມາຍເຖິງເສັ້ນກ່ອນເສັ້ນປະຈຸບັນ.
ຍິ່ງໄປກວ່ານັ້ນ, ການຕິດຕາມແລະຕົວອັກສອນມີຜົນກະທົບສະສົມ, ສະນັ້ນຫມາຍເຖິງປັດຈຸບັນ
ແຖວນ້ອຍ 2.
11. ເພື່ອຮັກສາຄວາມເຂົ້າກັນໄດ້ກັບສະບັບກ່ອນຫນ້າຂອງບັນນາທິການ, ລັກສະນະໃນ
ທີ່ຢູ່ແມ່ນເທົ່າກັບ
ຄໍາສັ່ງອາດຈະຕ້ອງການສູນ, ຫນຶ່ງ, ຫຼືສອງທີ່ຢູ່. ຄໍາສັ່ງທີ່ບໍ່ຕ້ອງການທີ່ຢູ່
ຖືການປະກົດຕົວຂອງທີ່ຢູ່ເປັນຄວາມຜິດພາດ. ຄໍາສັ່ງທີ່ຍອມຮັບຫນຶ່ງຫຼືສອງທີ່ຢູ່
ສົມມຸດທີ່ຢູ່ເລີ່ມຕົ້ນເມື່ອບໍ່ພຽງພໍແມ່ນໃຫ້. ຖ້າມີທີ່ຢູ່ໃຫ້ຫຼາຍກວ່າ a
ຄໍາສັ່ງຕ້ອງການ, ຫນຶ່ງຫຼືສອງອັນສຸດທ້າຍ (ຂຶ້ນກັບສິ່ງທີ່ຍອມຮັບ) ຖືກໃຊ້.
ທີ່ຢູ່ ໂດຍທົ່ວໄປແລ້ວແມ່ນແຍກອອກຈາກກັນໂດຍເຄື່ອງໝາຍຈຸດ ພວກມັນອາດຈະຖືກແຍກອອກດ້ວຍ
a semicolon ໃນກໍລະນີນີ້ເສັ້ນປະຈຸບັນແມ່ນກໍານົດທີ່ຢູ່ກ່ອນຫນ້າທີ່ຕໍ່ໄປ
ທີ່ຢູ່ຖືກຕີຄວາມໝາຍ. ຖ້າບໍ່ມີທີ່ຢູ່ກ່ອນເຄື່ອງໝາຍຈຸດ ຫຼືເຄື່ອງໝາຍຈຸດ, ເສັ້ນ 1 ແມ່ນສົມມຸດ;
ຖ້າບໍ່ມີທີ່ຢູ່ຕໍ່ໄປນີ້, ເສັ້ນສຸດທ້າຍຂອງ buffer ແມ່ນສົມມຸດ. ທີ່ຢູ່ທີສອງຂອງໃດໆ
ລຳດັບສອງທີ່ຢູ່ຕ້ອງກົງກັນກັບແຖວຕາມແຖວທີ່ສອດຄ້ອງກັບ
ທີ່ຢູ່ທໍາອິດ.
ໃນບັນຊີລາຍຊື່ຕໍ່ໄປນີ້ຂອງ ed ຄໍາສັ່ງ, ທີ່ຢູ່ເລີ່ມຕົ້ນແມ່ນສະແດງຢູ່ໃນວົງເລັບ. ໄດ້
ວົງເລັບບໍ່ແມ່ນສ່ວນຫນຶ່ງຂອງທີ່ຢູ່, ແຕ່ຖືກນໍາໃຊ້ເພື່ອສະແດງໃຫ້ເຫັນວ່າທີ່ຢູ່ທີ່ລະບຸນັ້ນແມ່ນ
ຄ່າເລີ່ມຕົ້ນ. 'ຈຸດ' ໝາຍ ເຖິງເສັ້ນປະຈຸບັນ.
(.)a
. ອ່ານຂໍ້ຄວາມທີ່ໄດ້ຮັບແລະຕໍ່ທ້າຍມັນຫຼັງຈາກແຖວທີ່ໄດ້ຮັບ. ຈຸດຖືກປະໄວ້ຢູ່ເທິງ
ການປ້ອນຂໍ້ມູນແຖວສຸດທ້າຍ, ຖ້າມີ, ຖ້າບໍ່ດັ່ງນັ້ນຢູ່ແຖວທີ່ຢູ່. ທີ່ຢູ່ແມ່ນ
ກົດຫມາຍສໍາລັບຄໍາສັ່ງນີ້; ຂໍ້ຄວາມຖືກວາງໄວ້ໃນຕອນຕົ້ນຂອງ buffer.
(.,.)b[+-][ຂະໜາດໜ້າ][pln]
ຄົ້ນຫາ. ພິມ 'ໜ້າ', ປົກກະຕິ 20 ແຖວ. ທາງເລືອກ (ຄ່າເລີ່ມຕົ້ນ) ຫຼືກໍານົດ
ບໍ່ວ່າໜ້າຕໍ່ໄປ ຫຼືໜ້າກ່ອນໜ້າຈະຖືກພິມ. ທາງເລືອກ ຂະໜາດໜ້າ ເປັນ
ຈໍານວນຂອງແຖວໃນຫນ້າ. ທາງເລືອກຫຼືເຮັດໃຫ້ເກີດການພິມໃນທີ່ກໍານົດໄວ້
ຮູບແບບ, ໃນເບື້ອງຕົ້ນ Pagesize ແລະຮູບແບບແມ່ນຈື່ລະຫວ່າງຄໍາສັ່ງ. ຈຸດຖືກປະໄວ້
ຢູ່ແຖວສຸດທ້າຍທີ່ສະແດງ.
(.,.)c
. ປ່ຽນແປງ. ລຶບແຖວທີ່ລະບຸໄວ້, ຈາກນັ້ນຍອມຮັບຂໍ້ຄວາມທີ່ປ້ອນເຂົ້າເພື່ອປ່ຽນແທນສາຍເຫຼົ່ານີ້.
ຈຸດຖືກປະໄວ້ຢູ່ທີ່ການປ້ອນຂໍ້ມູນແຖວສຸດທ້າຍ; ຖ້າບໍ່ມີ, ມັນຖືກປະໄວ້ຢູ່ໃນເສັ້ນ
ກ່ອນເສັ້ນທີ່ຖືກລົບ.
(.,.)d ລົບສາຍທີ່ລະບຸຈາກ buffer. ຈຸດຖືກຕັ້ງເປັນເສັ້ນຕໍ່ໄປນີ້
ແຖວສຸດທ້າຍຖືກລຶບ, ຫຼືໄປຫາແຖວສຸດທ້າຍຂອງ buffer ຖ້າແຖວທີ່ຖືກລົບບໍ່ມີ
ຜູ້ສືບທອດ.
e ຊື່ເອກະສານ
ແກ້ໄຂ. ລຶບເນື້ອຫາທັງໝົດຂອງ buffer; ຫຼັງຈາກນັ້ນອ່ານໄຟລ໌ທີ່ມີຊື່ເຂົ້າໄປໃນ
ບັຟເຟີ. ຈຸດຖືກຕັ້ງເປັນແຖວສຸດທ້າຍຂອງ buffer. ຈໍານວນຕົວອັກສອນທີ່ອ່ານ
ຖືກພິມ. ຊື່ໄຟລ໌ຖືກຈື່ໄວ້ສໍາລັບການນໍາໃຊ້ທີ່ເປັນໄປໄດ້ໃນພາຍຫລັງຫຼືຄໍາສັ່ງ. ຖ້າ
ຊື່ເອກະສານ ຫາຍໄປ, ຊື່ທີ່ຈື່ໄດ້ຖືກນໍາໃຊ້.
E ຊື່ເອກະສານ
ບໍ່ມີເງື່ອນໄຂເບິ່ງຂ້າງລຸ່ມນີ້.
f ຊື່ເອກະສານ
ພິມຊື່ໄຟລ໌ທີ່ຈື່ໄວ້ໃນປັດຈຸບັນ. ຖ້າ ຊື່ເອກະສານ ແມ່ນໃຫ້, ໃນປັດຈຸບັນ
ຊື່ໄຟລ໌ທີ່ຈື່ຈໍາໄດ້ຖືກປ່ຽນເປັນຄັ້ງທໍາອິດ ຊື່ເອກະສານ.
(1,$)g/ປົກກະຕິ ການສະແດງອອກ/ຄໍາສັ່ງ ບັນຊີລາຍຊື່
(1,$)g/ປົກກະຕິ ການສະແດງອອກ/
(1,$)g/ປົກກະຕິ ການສະແດງອອກ
ທົ່ວໂລກ. ກ່ອນອື່ນ ໝົດ ໝາຍ ທຸກເສັ້ນທີ່ກົງກັບທີ່ໃຫ້ ປົກກະຕິການສະແດງອອກ. ຫຼັງຈາກນັ້ນ, ສໍາລັບ
ທຸກໆເສັ້ນດັ່ງກ່າວ, ປະຕິບັດ ຄໍາສັ່ງ ບັນຊີລາຍຊື່ ໂດຍມີຈຸດຕັ້ງໄວ້ໃນເບື້ອງຕົ້ນກັບແຖວນັ້ນ. ກ
ຄໍາສັ່ງດຽວຫຼືຄໍາສັ່ງທໍາອິດຂອງຫຼາຍຄໍາສັ່ງປາກົດຢູ່ໃນເສັ້ນດຽວກັນກັບ
ຄໍາສັ່ງທົ່ວໂລກ. ແຖວທັງໝົດຂອງບັນຊີລາຍຊື່ຫຼາຍແຖວ ຍົກເວັ້ນແຖວສຸດທ້າຍຕ້ອງລົງທ້າຍດ້ວຍ
ໄດ້ ".' ການຢຸດໂຫມດການປ້ອນຂໍ້ມູນສໍາລັບຄໍາສັ່ງອາດຈະຖືກລະເວັ້ນຖ້າມັນຈະຢູ່ໃນ
ແຖວສຸດທ້າຍຂອງລາຍການຄຳສັ່ງ. ຄໍາສັ່ງແລະບໍ່ໄດ້ຮັບອະນຸຍາດໃນຄໍາສັ່ງ
ບັນຊີລາຍຊື່. ຕົວອັກສອນອື່ນນອກຈາກຍະຫວ່າງ ຫຼືແຖວໃໝ່ອາດຈະຖືກໃຊ້ແທນການຈຳກັດ
ການສະແດງອອກປົກກະຕິ. ຮູບແບບທີສອງແລະທີສາມຫມາຍຄວາມວ່າ g/ປົກກະຕິ ການສະແດງອອກ/p.
(.)i
. ໃສ່ຂໍ້ຄວາມທີ່ໃຫ້ໄວ້ກ່ອນແຖວທີ່ຢູ່. ຈຸດຖືກປະໄວ້ຢູ່ແຖວສຸດທ້າຍ
ການປ້ອນຂໍ້ມູນ, ຫຼື, ຖ້າບໍ່ມີ, ຢູ່ແຖວກ່ອນແຖວທີ່ຢູ່. ຄໍາສັ່ງນີ້
ແຕກຕ່າງຈາກ a ຄໍາສັ່ງພຽງແຕ່ໃນການຈັດວາງຂອງຂໍ້ຄວາມ.
(.,.+1)j
ເຂົ້າຮ່ວມບັນດາສາຍທີ່ໄດ້ຮັບການແກ້ໄຂເປັນເສັ້ນດຽວ; ແຖວໃໝ່ລະດັບປານກາງຖືກລຶບ.
ຈຸດຖືກປະໄວ້ຢູ່ທີ່ເສັ້ນຜົນໄດ້ຮັບ.
(.)kx ໝາຍແຖວທີ່ຢູ່ດ້ວຍຊື່ x, ເຊິ່ງຕ້ອງເປັນຕົວພິມນ້ອຍ. ໄດ້
ແບບຟອມທີ່ຢູ່ ´x ຫຼັງຈາກນັ້ນ, ກ່າວເຖິງແຖວນີ້.
(.,.)l ລາຍການ. ພິມເສັ້ນທີ່ໄດ້ຮັບໃນວິທີການທີ່ບໍ່ແນ່ນອນ: ແຖບແມ່ນພິມເປັນ a
backspace ເປັນ backslashes ເປັນ ແລະບໍ່ພິມຕົວອັກສອນເປັນ backslash ເປັນ, ແລະສີ່
ເລກຖານສິບຫົກ. ເສັ້ນຍາວແມ່ນພັບ, ມີສ່ວນຍ່ອຍທີສອງແລະຕໍ່ມາ.
ແຖວຫຍໍ້ໜ້າໜຶ່ງແຖບຢຸດ. ຖ້າຕົວອັກສອນສຸດທ້າຍໃນແຖວແມ່ນຫວ່າງເປົ່າ, ມັນແມ່ນ
ປະຕິບັດຕາມໂດຍ An ອາດຈະຖືກຕໍ່ທ້າຍ, ຄືກັບຄໍາສັ່ງໃດໆທີ່ບໍ່ແມ່ນ I/O.
(.,.)ma
ຍ້າຍ. ປ່ຽນຕຳແໜ່ງແຖວທີ່ຢູ່ຫຼັງຈາກແຖວທີ່ແກ້ໄຂໂດຍ a. ຈຸດຖືກປະໄວ້
ຢູ່ໃນເສັ້ນຍ້າຍສຸດທ້າຍ.
(.,.)n ເລກ. ປະຕິບັດການນໍາຫນ້າແຕ່ລະແຖວດ້ວຍເລກແຖວແລະແຖບຂອງມັນ. ອາດຈະເປັນ
ເພີ່ມເຕີມ, ເຊັ່ນດຽວກັບຄໍາສັ່ງໃດໆທີ່ບໍ່ແມ່ນ I/O.
(.,.)p ພິມສາຍທີ່ໄດ້ຮັບ. ຈຸດຖືກປະໄວ້ຢູ່ແຖວສຸດທ້າຍທີ່ພິມອອກ. A ເພີ່ມເຕີມຕໍ່ກັບ
ຄໍາສັ່ງໃດໆທີ່ບໍ່ແມ່ນ I/O ເຮັດໃຫ້ເສັ້ນປະຈຸບັນຖືກພິມອອກຫຼັງຈາກຄໍາສັ່ງແມ່ນ
ປະຕິບັດ.
(.,.)P ຄໍາສັ່ງນີ້ແມ່ນຄໍາສັບຄ້າຍຄືສໍາລັບ
q ອອກຈາກບັນນາທິການ. ບໍ່ມີການຂຽນອັດຕະໂນມັດຂອງໄຟລ໌ແມ່ນເຮັດແລ້ວ. A ຫຼືຄໍາສັ່ງຖືກພິຈາລະນາ
ຈະຢູ່ໃນຄວາມຜິດພາດຖ້າຫາກວ່າ buffer ໄດ້ຖືກດັດແກ້ນັບຕັ້ງແຕ່ສຸດທ້າຍຫຼືຄໍາສັ່ງ.
Q ເລີກໂດຍບໍ່ມີເງື່ອນໄຂ.
($)r ຊື່ເອກະສານ
ອ່ານໃນໄຟລ໌ທີ່ໃຫ້ຫຼັງຈາກແຖວທີ່ຢູ່. ຖ້າບໍ່ມີ ຊື່ເອກະສານ ແມ່ນໃຫ້, ໄດ້
ຊື່ໄຟລ໌ທີ່ຈື່ໄດ້ຖືກນໍາໃຊ້. ຊື່ໄຟລ໌ຖືກຈື່ໄວ້ຖ້າບໍ່ມີ
ຈື່ຊື່ໄຟລ໌ແລ້ວ. ຖ້າການອ່ານປະສົບຜົນສໍາເລັດ, ຈໍານວນຕົວອັກສອນ
ອ່ານແມ່ນພິມ. ຈຸດຖືກປະໄວ້ຢູ່ແຖວສຸດທ້າຍທີ່ອ່ານຈາກໄຟລ໌.
(.,.)sn/ປົກກະຕິ ການສະແດງອອກ/ການທົດແທນ/
(.,.)sn/ປົກກະຕິ ການສະແດງອອກ/ການທົດແທນ/g
(.,.)sn/ປົກກະຕິ ການສະແດງອອກ/ການທົດແທນ
ແທນ. ຄົ້ນຫາແຕ່ລະແຖວທີ່ຢູ່ສໍາລັບການປະກົດຕົວຂອງປົກກະຕິທີ່ລະບຸໄວ້
ການສະແດງອອກ. ໃນແຕ່ລະເສັ້ນ n ພົບກັນ (n ເລີ່ມຕົ້ນເປັນ 1 ຖ້າ
ຫາຍ), ໄດ້ nth matched string ຖືກແທນທີ່ໂດຍການທົດແທນທີ່ລະບຸໄວ້. ຖ້າ
ຕົວຊີ້ວັດການທົດແທນທົ່ວໂລກປະກົດວ່າຫຼັງຈາກຄໍາສັ່ງ, ທັງຫມົດທີ່ກົງກັນຕໍ່ມາກ່ຽວກັບການ
ສາຍຍັງຖືກທົດແທນ. ມັນເປັນຄວາມຜິດພາດສໍາລັບການທົດແທນທີ່ລົ້ມເຫລວທັງຫມົດ
ເສັ້ນທີ່ໄດ້ກ່າວມາ. ຕົວອັກສອນອື່ນນອກເໜືອໄປຈາກຊ່ອງຫວ່າງ ຫຼືແຖວໃໝ່ອາດຈະຖືກໃຊ້ແທນ
ເພື່ອກໍານົດການສະແດງອອກປົກກະຕິແລະການທົດແທນ. ຈຸດຖືກປະໄວ້ຢູ່ສຸດທ້າຍ
ເສັ້ນທົດແທນ. ຮູບແບບທີສາມຫມາຍຄວາມວ່າ sn/ປົກກະຕິ ການສະແດງອອກ/ການທົດແທນ/p. ໄດ້
ອັນທີສອງອາດຈະຖືກລະເວັ້ນຖ້າການທົດແທນແມ່ນຫວ່າງເປົ່າ.
Ampersand ທີ່ປາກົດຢູ່ໃນການທົດແທນແມ່ນແທນທີ່ດ້ວຍສາຍທີ່ກົງກັບ
ການສະແດງອອກເປັນປົກກະຕິ. ລັກສະນະ \n, ບ່ອນທີ່ n ເປັນຕົວເລກ, ຖືກແທນທີ່ດ້ວຍ
ຂໍ້ຄວາມທີ່ກົງກັບ n-th subexpression ປົກກະຕິ enclosed ລະຫວ່າງແລະໃນເວລາທີ່ nested
ມີຕົວຊີ້ບອກຍ່ອຍວົງເລັບ, n ຖືກກໍານົດໂດຍການນັບເຫດການ
ເລີ່ມຕົ້ນຈາກຊ້າຍ.
ຕົວອັກສອນ ຫຼື ແຖວໃໝ່ອາດຈະຖືກລວມເຂົ້າໃນຕົວແທນໂດຍການໃສ່ຄຳນຳໜ້າ
(.,.)ta
ໂອນ. ຄັດລອກແຖວທີ່ຢູ່ຫຼັງຈາກເສັ້ນທີ່ແກ້ໄຂໂດຍ a. ຈຸດຖືກປະໄວ້ຢູ່ທີ່
ແຖວສຸດທ້າຍຂອງສຳເນົາ.
(.,.)u ຍົກເລີກ. ຟື້ນຟູເນື້ອໃນກ່ອນຫນ້າຂອງແຖວທີ່ຢູ່ທໍາອິດ (sic), ເຊິ່ງຕ້ອງ
ເປັນເສັ້ນສຸດທ້າຍທີ່ມີການປ່ຽນແທນ (sic ສອງເທົ່າ).
(1,$)v/ປົກກະຕິ ການສະແດງອອກ/ຄໍາສັ່ງ ບັນຊີລາຍຊື່
ຄໍາສັ່ງນີ້ແມ່ນຄືກັນກັບຄໍາສັ່ງທົ່ວໂລກຍົກເວັ້ນວ່າບັນຊີລາຍຊື່ຄໍາສັ່ງແມ່ນ
ເລີ່ມຕົ້ນດ້ວຍຈຸດທີ່ຕັ້ງໄວ້ທຸກແຖວ ຍົກເວັ້ນ ທີ່ກົງກັບປົກກະຕິ
ການສະແດງອອກ.
(1,$)w ຊື່ເອກະສານ
ຂຽນແຖວທີ່ຢູ່ໄປຫາໄຟລ໌ທີ່ໃຫ້. ຖ້າໄຟລ໌ບໍ່ມີ, ມັນແມ່ນ
ສ້າງດ້ວຍໂຫມດ 666 (ທຸກຄົນສາມາດອ່ານໄດ້ແລະຂຽນໄດ້). ຖ້າບໍ່ມີ ຊື່ເອກະສານ is
ໃຫ້, ຊື່ໄຟລ໌ທີ່ຈື່, ຖ້າມີ, ຖືກໃຊ້. ຊື່ໄຟລ໌ຖືກຈື່ໄວ້ຖ້າ
ບໍ່ມີຊື່ໄຟລ໌ທີ່ຈື່ໄວ້ແລ້ວ. ຈຸດບໍ່ປ່ຽນແປງ. ຖ້າຂຽນແມ່ນ
ສົບຜົນສໍາເລັດ, ຈໍານວນຂອງຕົວອັກສອນທີ່ຂຽນໄດ້ຖືກພິມອອກ.
(1,$)W ຊື່ເອກະສານ
ດໍາເນີນການແຕ່ຕື່ມໃສ່ກັບ, ແທນທີ່ຈະຂຽນທັບ, ເນື້ອໃນໄຟລ໌ທີ່ມີຢູ່ແລ້ວ.
($)= ພິມເລກແຖວຂອງແຖວທີ່ຢູ່. ຈຸດບໍ່ປ່ຽນແປງ.
!ຫອຍ ຄໍາສັ່ງ
ສົ່ງສ່ວນທີ່ເຫຼືອຂອງສາຍຫຼັງຈາກເຖິງ rc(1) ແປເປັນຄໍາສັ່ງ.
ຈຸດບໍ່ປ່ຽນແປງ.
(.+1)
ທີ່ຢູ່ທີ່ບໍ່ມີຄໍາສັ່ງຖືກປະຕິບັດເປັນຄໍາສັ່ງ. A terminal ອາດຈະຖືກລະເວັ້ນຈາກ
ທີ່ຢູ່. ເສັ້ນເປົ່າດຽວເທົ່າກັບມັນເປັນປະໂຫຍດສໍາລັບການກ້າວຜ່ານ
ຂໍ້ຄວາມ.
ຖ້າສັນຍານລົບກວນ (DEL) ຖືກສົ່ງ, ed ພິມ a ແລະກັບຄືນສູ່ລະດັບຄໍາສັ່ງຂອງມັນ.
ເມື່ອອ່ານໄຟລ໌, ed ຍົກເລີກຕົວອັກສອນ NUL ແລະຕົວອັກສອນທັງໝົດຫຼັງຈາກແຖວໃໝ່ຫຼ້າສຸດ.
ໃຊ້ edplan9 ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net