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

Regex 删除名称列表中第一个字符后的所有内容,regex,perl,sed,awk,cut,Regex,Perl,Sed,Awk,Cut,我有一个名字列表,我想把名字和姓氏两个列表结合起来。我想删除名字中第二个字符后面的所有内容。例如: 名字 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 你在找这个吗 sed 's/^\(.\).*/\1/' file 或者简单地说: grep -o '^.' file 使用cut:

我有一个名字列表,我想把名字和姓氏两个列表结合起来。我想删除名字中第二个字符后面的所有内容。例如: 名字

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

你在找这个吗

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

使用
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
读l时
;做
echo${l:0:1}
完成<文件
使用awk:

awk -F '\0' '{print $1}' file
或纯BASH:

while read l; do
   echo ${l:0:1}
done < file
读l时
;做
echo${l:0:1}
完成<文件
这可能适合您(GNU-sed):

这可能适用于您(GNU-sed):