删除名称列表中第一个字符后的所有内容

时间:2013-07-22 15:57:19

标签: regex perl sed awk cut

我有一个名单列表,我希望将两个列表的名字和姓氏组合在一起。我想删除名字中第二个字符后的所有内容。例如: 名字

Adam
Adam
Amanda M
Amber
Ami
Amy
Amy
Amy
Amy

输出

A
A
A
A
A
A
A
A
A

4 个答案:

答案 0 :(得分:2)

你正在寻找这个吗?

sed 's/^\(.\).*/\1/' file

或简单地说:

grep -o '^.' file

答案 1 :(得分:2)

使用awk:

awk -F '\0' '{print $1}' file

OR pure BASH:

while read l; do
   echo ${l:0:1}
done < file

答案 2 :(得分:1)

使用cut

$ echo "Adam
Adam
Amanda M
Amber
Ami
Amy
Amy
Amy
Amy" | cut -c 1
A
A
A
A
A
A
A
A
A

答案 3 :(得分:0)

这可能适合你(GNU sed):

sed 's/\B.*//' file