ÎÞÂÛÊÇÈÕÖ¾Îļþ¡¢ÅäÖÃÎļþ»¹ÊÇÊý¾ÝÎļþ£¬¾³£ÐèÒª¶ÔÆä½øÐÐÐ޸ġ¢É¾³ý»òÌí¼ÓÄÚÈÝ
ÆäÖУ¬É¾³ýÎļþµÄ×îºóÒ»ÐÐÊÇÒ»¸öÏà¶Ô¼òµ¥µ«·Ç³£ÊµÓõIJÙ×÷
±¾ÎĽ«Ïêϸ½éÉÜÈçºÎÔÚLinux»·¾³Ï¸ßЧ¡¢°²È«µØÉ¾³ýÎļþµÄ×îºóÒ»ÐУ¬²¢Ìṩ¶àÖÖ·½·¨ÒÔÂú×㲻ͬ³¡¾°µÄÐèÇó
Ò»¡¢ÎªÊ²Ã´ÐèҪɾ³ýÎļþµÄ×îºóÒ»ÐÐ ÔÚʵ¼ÊÓ¦ÓÃÖУ¬É¾³ýÎļþµÄ×îºóÒ»ÐпÉÄܳöÓÚ¶àÖÖÔÒò£º 1.ÈÕÖ¾ÎļþÇåÀí£ºÈÕÖ¾Îļþ¿ÉÄÜ»áÒòΪijЩÔÒò£¨Èç³ÌÐòÒì³£Í˳ö£©¶ø°üº¬²»ÍêÕûµÄ×îºóÒ»ÐУ¬É¾³ýËü¿ÉÒÔÈ·±£ÈÕÖ¾µÄÕû½àºÍ¿É¶ÁÐÔ
2.ÅäÖÃÎļþÐÞÕý£ºÄ³Ð©ÅäÖÃÎļþÔڱ༹ý³ÌÖпÉÄܻ᲻СÐÄÌí¼ÓÁËÒ»ÐÐÎÞЧ»ò´íÎóµÄÅäÖã¬É¾³ý×îºóÒ»ÐпÉÒÔÐÞÕýÕâ¸ö´íÎó
3.Êý¾ÝÔ¤´¦Àí£ºÔÚÊý¾Ý´¦Àí¹ý³ÌÖУ¬ÓÐʱÐèҪɾ³ýÊý¾ÝÎļþµÄ×îºóÒ»ÐУ¬ÒÔÈ¥³ý»ã×ÜÐÅÏ¢»òͳ¼Æ½á¹û£¬Ö»±£ÁôÔʼÊý¾Ý
ÎÞÂÛ³öÓÚºÎÖÖÔÒò£¬ÕÆÎÕɾ³ýÎļþ×îºóÒ»Ðеļ¼Çɶ¼ÊÇLinuxÓû§±Ø±¸µÄ¼¼ÄÜÖ®Ò»
¶þ¡¢Ê¹ÓÃ`sed`ÃüÁîɾ³ýÎļþ×îºóÒ»ÐÐ `sed`£¨stream editor£©ÊÇLinuxÖй¦ÄÜÇ¿´óµÄÎı¾´¦Àí¹¤¾ß£¬¿ÉÒÔÓÃÀ´Ö´Ðи÷ÖÖÎı¾Ìæ»»¡¢É¾³ý¡¢²åÈëµÈ²Ù×÷
ɾ³ýÎļþµÄ×îºóÒ»ÐУ¬`sed`ÊÇÒ»¸ö·Ç³£ºÃµÄÑ¡Ôñ
·½·¨Ò»£ºÊ¹ÓÃ`$`ºÍ`d`ÃüÁî `$`·ûºÅÔÚ`sed`ÖбíʾÎļþµÄ×îºóÒ»ÐУ¬`d`ÃüÁîÓÃÓÚɾ³ýÐÐ
Òò´Ë£¬×éºÏʹÓÃ`$d`¿ÉÒÔɾ³ýÎļþµÄ×îºóÒ»ÐÐ
sed $d input.txt > temp.txt && mv temp.txt input.txt ½âÊÍ£º - `sed $d input.txt`£º½«`input.txt`ÎļþµÄ×îºóÒ»ÐÐɾ³ý£¬²¢½«½á¹ûÊä³öµ½±ê×¼Êä³ö
- `> temp.txt`£º½«±ê×¼Êä³öµÄ½á¹ûÖØ¶¨Ïòµ½ÁÙʱÎļþ`temp.txt`
- `&& mv temp.txt input.txt`£ºÈç¹ûÇ°ÃæµÄÃüÁî³É¹¦Ö´ÐУ¬Ôò½«ÁÙʱÎļþ`temp.txt`ÖØÃüÃûΪÔÎļþÃû`input.txt`
ÕâÖÖ·½·¨ËäÈ»ÓÐЧ£¬µ«ÉÔÏÔ·±Ëö£¬ÒòΪËüÐèÒª´´½¨Ò»¸öÁÙʱÎļþ
·½·¨¶þ£ºÊ¹ÓÃ`-i`Ñ¡ÏîÖ±½Ó±à¼Îļþ `sed`µÄ`-i`Ñ¡ÏîÔÊÐíÖ±½Ó±à¼Îļþ£¬¶ø²»ÐèÒª´´½¨ÁÙʱÎļþ
sed -i $d input.txt ½âÊÍ£º - `sed -i $d input.txt`£ºÖ±½Óɾ³ý`input.txt`ÎļþµÄ×îºóÒ»ÐУ¬²¢±£´æ¸ü¸Ä
ÕâÖÖ·½·¨¸ü¼Ó¼ò½à¸ßЧ£¬ÊÇÍÆ¼öµÄ·½Ê½
Èý¡¢Ê¹ÓÃ`awk`ÃüÁîɾ³ýÎļþ×îºóÒ»ÐÐ `awk`ÊÇÁíÒ»¸öÇ¿´óµÄÎı¾´¦Àí¹¤¾ß£¬Ëü»ùÓÚģʽƥÅäºÍ¶¯×÷Ö´ÐÐÀ´´¦ÀíÎı¾
ËäÈ»`awk`ͨ³£ÓÃÓÚ¸ü¸´ÔÓµÄÎı¾´¦ÀíÈÎÎñ£¬µ«É¾³ýÎļþµÄ×îºóÒ»ÐжÔËüÀ´ËµÒ²ÊÇС²ËÒ»µú
awk NR!=FNR{printa¡¾NR-1¡¿}{a¡¾NR¡¿=$0}END{if(NR>a¡¾NR-1¡¿=} RS= input.txt > temp.txt && mv temp.txt input.txt ½âÊÍ£º - `awk NR!=FNR{printa¡¾NR-1¡¿}{a¡¾NR¡¿=$0}END{if(NR>a¡¾NR-1¡¿=} RS= input.txt`£ºÕâÊÇÒ»¸ö¸´ÔÓµÄ`awk`ÃüÁÓÃÓÚɾ³ýÎļþµÄ×îºóÒ»ÐÐ
-`NR`£ºµ±Ç°¼Ç¼Êý£¨Ðкţ©
-`FNR`£ºµ±Ç°ÎļþÖеļǼÊý£¨Ðкţ©
-`a¡¾NR¡¿=$0`£º½«µ±Ç°ÐÐÄÚÈݱ£´æµ½Êý×é`a`ÖÐ
-`NR!=FNR{print a¡¾NR-1¡¿}`£ºµ±´¦Àí¶àÎļþʱ£¬Õâ¸öÌõ¼þÓÃÓÚ±ÜÃâÖØ¸´´òÓ¡
µ«ÔÚÕâÀÎÒÃÇÖ»ÓÃÒ»¸öÎļþ£¬ËùÒÔËüµÄ×÷ÓÃÊÇÌø¹ý×îºóÒ»ÐеĴòÓ¡
-`END{if(NR>1) a¡¾NR-1¡¿=}`£ºÔÚ´¦ÀíÍêËùÓÐÐк󣬽«×îºóÒ»ÐÐÄÚÈÝÇå¿Õ£¨Êµ¼ÊÉÏÊDz»´òÓ¡£©
-`RS=`£º½«¼Ç¼·Ö¸ô·ûÉèÖÃΪ¿Õ£¬ÕâÑù`awk`»á½«Õû¸öÎļþµ±×÷Ò»¸ö¼Ç¼´¦Àí£¨µ«ÕâÀïÎÒÃÇÇÉÃîµØÀûÓÃÁË`NR`ºÍ`FNR`µÄ²îÒ죩
- `> temp.txt && mv temp.txt input.txt`£º½«½á¹ûÖØ¶¨Ïòµ½ÁÙʱÎļþ£¬È»ºóÖØÃüÃû
ËäÈ»ÕâÖÖ·½·¨¿ÉÒÔʵÏÖÄ¿±ê£¬µ«Ïà±È`sed`À´Ëµ£¬ËüÏԵùýÓÚ¸´ÔÓÇÒ²»Ò×Àí½â
Òò´Ë£¬ÔÚ´ó¶àÊýÇé¿öÏ£¬ÍƼöʹÓÃ`sed`ÃüÁî
ËÄ¡¢Ê¹ÓÃ`tail`ºÍ`head`ÃüÁî×éºÏɾ³ýÎļþ×îºóÒ»ÐÐ `tail`ºÍ`head`ÊÇLinuxÖÐÓÃÓڲ鿴ÎļþÄÚÈݵÄÃüÁî
`tail`ÓÃÓڲ鿴ÎļþµÄĩβ²¿·Ö£¬¶ø`head`ÓÃÓڲ鿴ÎļþµÄ¿ªÍ·²¿·Ö
ͨ¹ý×éºÏÕâÁ½¸öÃüÁҲ¿ÉÒÔʵÏÖɾ³ýÎļþ×îºóÒ»ÐеÄЧ¹û
{ head -n -1 input.txt; echo;} | tail -n +1 > temp.txt && mv temp.txt input.txt ½âÊÍ£º - `head -n -1 input.txt`£ºÏÔʾ`input.txt`Îļþ³ý×îºóÒ»ÐÐÖ®ÍâµÄËùÓÐÄÚÈÝ
- `echo`£ºÌí¼ÓÒ»¸ö¿ÕÐУ¨ÕâÒ»²½ÊÇΪÁË´¦ÀíÎļþÖ»ÓÐÒ»ÐеÄÇé¿ö£¬±ÜÃâ`head`ÃüÁîÊä³öΪ¿Õ£©
- `{... }`£º½«ÃüÁî×éºÏÔÚÒ»Æð£¬ÒÔ±ãͨ¹ý¹ÜµÀ´«µÝ¸ø`tail`ÃüÁî
- `tail -n +1`£º´ÓµÚÒ»ÐпªÊ¼ÏÔʾÄÚÈÝ£¨Êµ¼ÊÉÏÕâÀïÊÇΪÁËÈ¥³ý`echo`ÃüÁîÌí¼ÓµÄ¿ÕÐУ©
- `> temp.txt && mv temp.txt input.txt`£º½«½á¹ûÖØ¶¨Ïòµ½ÁÙʱÎļþ£¬È»ºóÖØÃüÃû
ÕâÖÖ·½·¨ËäÈ»¿ÉÒÔʵÏÖÄ¿±ê£¬µ«Í¬ÑùÐèÒª´´½¨ÁÙʱÎļþ£¬²¢ÇÒÃüÁî×éºÏÏà¶Ô¸´ÔÓ
Òò´Ë£¬ÔÚ´ó¶àÊýÇé¿öÏ£¬²»ÊÇ×îÓÅÑ¡Ôñ
Îå¡¢×ܽá ÔÚLinuxÖÐɾ³ýÎļþµÄ×îºóÒ»ÐÐÓжàÖÖ·½·¨£¬°üÀ¨Ê¹ÓÃ`sed`¡¢`awk`ÒÔ¼°`tail`ºÍ`head`ÃüÁîµÄ×éºÏ
ÆäÖУ¬`sed`ÃüÁîÒÔÆä¼ò½à¸ßЧ¡¢Ò×ÓÚÀí½âµÄÌØµã³ÉÎªÍÆ¼öµÄ·½·¨
ÎÞÂÛÊÇ´¦Àí¼òµ¥µÄÈÕÖ¾Îļþ»¹ÊǸ´ÔÓµÄÅäÖÃÎļþ£¬`sed`¶¼ÄÜÇáËÉÓ¦¶Ô
ͨ¹ý±¾ÎĵĽéÉÜ£¬ÏàÐÅÄãÒÑ¾ÕÆÎÕÁËÔÚLinuxÖÐɾ³ýÎļþ×îºóÒ»ÐеĶàÖÖ·½·¨£¬²¢Äܹ»¸ù¾Ýʵ¼ÊÐèÇóÑ¡Ôñ×îÊʺÏ×Ô¼ºµÄ·½·¨
ÔÚʵ¼Ê²Ù×÷ÖУ¬ÇëÎñ±Ø×¢Òⱸ·ÝÎļþ£¬ÒÔ·ÀÒâÍâÇé¿öµ¼ÖÂÊý¾Ý¶ªÊ§
LinuxÌṩÁ˷ḻµÄÎı¾´¦Àí¹¤¾ß£¬ÕÆÎÕÕâЩ¹¤¾ßµÄʹÓü¼