Shell-Script
如何刪除以特定單詞開頭並以特定單詞結尾的行
例如:
CREATE TABLE COMM.ACL_ENTRY ( ACL_OID CHAR(18) FOR BIT DATA NOT NULL , USER_DESC_TYPE FOR COLUMN USER_00001 BIGINT NOT NULL , USER_DESC_OID FOR COLUMN USER_00002 VARGRAPHIC(220) CCSID 13488 NOT NULL , ACTIONS BIGINT NOT NULL , CONSTRAINT COMM.PK5111 PRIMARY KEY( ACL_OID , USER_DESC_OID ) ) ; ALTER TABLE COMMUN.ACL_ENTRY ADD CONSTRAINT COMM.FK5111A FOREIGN KEY( ACL_OID ) REFERENCES COMM.ACL ( OID ) ON DELETE CASCADE ON UPDATE NO ACTION ;
正如您在上面的範例中看到的那樣。我想刪除以 word 開頭的行,
ALTER
直到它以特定模式結束,;
然後在另一個文件中列印刪除的行。
您可以
sed
用於這兩個任務。它支持所謂的“地址”,可以是正則表達式:sed -n -e '/^ALTER/,/;$/p' > another.file # Prints them, sed -i~ -e '/^ALTER/,/;$/d' # Deletes them.