Next: , Previous: Centering lines, Up: Examples   [Contents][Index]


4.2 ¿ô»ú¤òÁý²Ã¤µ¤»¤ë

°Ê²¼¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¤sed¤Ç»»¿ô¤ò¹Ô¤Ê¤¦ÊýË¡¤òÀâÌÀ¤¹¤ë¤â¤Î¤Î°ì¤Ä ¤Ç¤¹¡¥¤³¤ì¤Ï¼ÂºÝ¤Ë¤Ï²Äǽ¤Ç¤¹¤¬7¡¤¼êư¤Ç¹Ô¤Ê¤¦¤Ù¤­¤Ç¤·¤ç¤¦¡¥

¿ôÃͤò°ì¤ÄÁý²Ã¤µ¤»¤ë¤Ë¤Ï¡¤ºÇ¸å¤Î·å¤Ë1¤òÄɲä·¡¤¤½¤ì°Ê¹ß¤Î·å¤òÃÖ´¹¤¹¤ë¤À ¤±¤Ç¤¹¡¥Îã³°¤¬°ì¤Ä¤¢¤ê¤Þ¤¹¡¥¤½¤Î·å¤ÎÁ°¤Î¿ôÃͤ¬9¤Î¤È¤­¡¤9¤¬Ìµ¤¯¤Ê¤ë¤Þ¤Ç Áý²Ã¤µ¤»¤ëɬÍפ⤢¤ê¤Þ¤¹¡¥

¤³¤ÎBruno Haible¤Ë¤è¤ë²ò·èÊýË¡¤Ï¡¤Ã±°ì¤Î¥Ð¥Ã¥Õ¥¡¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Î¤ÇÈó¾ï ¤Ë¸­¤¯ÃÎŪ¤Ç¤¹¡¥¤³¤ÎÀ©¸Â¤¬¤Ê¤¤¾ì¹ç¡¤Numbering lines¤Ç»ÈÍÑ ¤µ¤ì¤Æ¤¤¤ë¥¢¥ë¥´¥ê¥º¥à¤ÎÊý¤¬¤è¤ê®¤¤¤Ç¤·¤ç¤¦¡¥¤½¤ì¤Ï¸åÃÖ¤µ¤ì¤ë9¤ò¥¢¥ó¥À¡¼ ¥¹¥³¥¢¤ÇÃÖ´¹¤·¡¤Ê£¿ô¤Îs¥³¥Þ¥ó¥É¤òºÇ¸å¤Î·å¤òÁý²Ã¤µ¤»¤ë¤¿¤á¤Ë»ÈÍÑ ¤·¡¤¤½¤·¤Æ¡¤ºÆ¤Ó¥¢¥ó¥À¡¼¥¹¥³¥¢¤ò¥¼¥í¤ÇÃÖ´¹¤¹¤ë¤³¤È¤Çưºî¤·¤Þ¤¹¡¥

#!/usr/bin/sed -f

/[^0-9]/ d

# replace all leading 9s by _ (any other character except digits, could
# be used)
:d
s/9\(_*\)$/_\1/
td
# incr last digit only.  The first line adds a most-significant
# digit of 1 if we have to add a digit.
#
# The tn commands are not necessary, but make the thing
# faster
s/^\(_*\)$/1\1/; tn
s/8\(_*\)$/9\1/; tn
s/7\(_*\)$/8\1/; tn
s/6\(_*\)$/7\1/; tn
s/5\(_*\)$/6\1/; tn
s/4\(_*\)$/5\1/; tn
s/3\(_*\)$/4\1/; tn
s/2\(_*\)$/3\1/; tn
s/1\(_*\)$/2\1/; tn
s/0\(_*\)$/1\1/; tn
:n
y/_/0/

Footnotes

(7)

sed¤Î¥Ù¥Æ¥é¥óGreg Ubben¤Ï¡¤dc RPN¤Î·×»»µ¡¤Î¼ÂÁõ¤ò½ñ¤¤¤Æ¤¤¤Þ¤¹¡ª¤½¤ì¤Ïsed¤È¤È ¤â¤ËÇÛÉÛ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥