【发布时间】:2013-07-21 10:55:03
【问题描述】:
我有一个名字列表,我想将两个列表的名字和姓氏结合起来。我想删除名字中第二个字符之后的所有内容。例如: 名字
Adam
Adam
Amanda M
Amber
Ami
Amy
Amy
Amy
Amy
输出
A
A
A
A
A
A
A
A
A
【问题讨论】:
我有一个名字列表,我想将两个列表的名字和姓氏结合起来。我想删除名字中第二个字符之后的所有内容。例如: 名字
Adam
Adam
Amanda M
Amber
Ami
Amy
Amy
Amy
Amy
输出
A
A
A
A
A
A
A
A
A
【问题讨论】:
你在找这个吗?
sed 's/^\(.\).*/\1/' file
或者简单地说:
grep -o '^.' file
【讨论】:
使用cut:
$ echo "Adam
Adam
Amanda M
Amber
Ami
Amy
Amy
Amy
Amy" | cut -c 1
A
A
A
A
A
A
A
A
A
【讨论】:
使用 awk:
awk -F '\0' '{print $1}' file
或纯 BASH:
while read l; do
echo ${l:0:1}
done < file
【讨论】:
这可能对你有用(GNU sed):
sed 's/\B.*//' file
【讨论】: