Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

请问如何取文本每行首字符

Posted on 2010-03-28 15:11 Prayer 阅读(524) 评论(0)  编辑 收藏 引用 所属分类: Shell
sed 's/^\(.\).*$/\1' yourfile
cut -b1
gawk -F "" '{print $1}'
awk '{print substr($0,1,1)}'
awk '{printf "%.1s",$0}'
colrm 2 <file>newfile
cat file|while read i;do echo ${i:0:1};done

是正常的。在printf代碼中c轉義碼表示的是"字符",那麼{printf("%-1c\n",$0)}就會取得文件中每行的第一個“字符”,而如果用{printf("%-1s\n",$0)}的話,則就會取得文件中每行的第一個“字符串”,而不是第一個“字符”。

針對整個文件可以(文件中的行的首個字符可以是數字):
awk '{printf("%-1c\n",$0)}'

針對某個數字可以(例如:65:
awk 'BEGIN{printf("%-1c\n,"65")}'

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理