Filenames unixshell:如何获取文件名的前3个字母

Filenames unixshell:如何获取文件名的前3个字母,filenames,Filenames,我想知道如何以非常简单的方式获得文件名中的前3个字母。感谢和问候取决于您使用的外壳。在bash中,只需使用子字符串提取,类似于: pax> fname=xyzzy.txt pax> echo ${fname} xyzzy.txt pax> first3=${fname:0:3} ; echo ${first3} xyz 如果您没有使用bash,另一个选项是使用cut,这通常在大多数系统上都可用。它是一个外部程序,这意味着它没有上面的内部bash方法那么有效,但您可能只会注

我想知道如何以非常简单的方式获得文件名中的前3个字母。感谢和问候取决于您使用的外壳。在
bash
中,只需使用子字符串提取,类似于:

pax> fname=xyzzy.txt

pax> echo ${fname}
xyzzy.txt

pax> first3=${fname:0:3} ; echo ${first3}
xyz
如果您没有使用
bash
,另一个选项是使用
cut
,这通常在大多数系统上都可用。它是一个外部程序,这意味着它没有上面的内部
bash
方法那么有效,但您可能只会注意到,如果每秒执行数千次

pax> first3=$(echo ${fname} | cut -c1-3) ; echo ${first3}
xyz

你有问题吗?你试过什么吗?你的尝试有什么问题?你做过任何研究吗?是的,考虑到文件名的第三位总是有字母P,所以我这里是我的代码(echo TTPTEST | awk-F“P”{print$1“P”}),但我想知道是否有更简单的方法…谢谢paxdiablo你的真棒:)我的真棒什么?对不起,我通常不会对恭维我的人装腔作势,但正确的说法是“你很棒”:-)为什么有些敬畏是好的(很棒),而很多敬畏是坏的(可怕)。我一直没能弄明白这一点。