【问题标题】:Unix shell: how to get the first 3 letters of the filenameUnix shell:如何获取文件名的前 3 个字母
【发布时间】:2014-08-20 02:33:16
【问题描述】:

我想知道如何以非常简单的方式获取文件名中的前 3 个字母。谢谢和问候

【问题讨论】:

  • 您有问题吗?你尝试过什么吗?你的尝试有什么问题?你做过研究吗?
  • 是的,因为文件名总是在第三个位置有字母 P,所以我这里是我的代码 (echo TTPTEST | awk -F"P" '{print $1"P"}') 但我想知道如果有更简单的方法......

标签: filenames


【解决方案1】:

取决于您使用的外壳。在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

【讨论】:

  • 感谢 paxdiablo 你真棒:)
  • 我真棒什么?抱歉,对于赞美我的人,我通常不是一个书呆子,但正确的短语是“你真棒”:-) 为什么 some awe good (awesome) 而很多 awe 是坏的(可怕的)。我一直没搞清楚。
猜你喜欢
  • 2014-12-07
  • 1970-01-01
  • 1970-01-01
  • 2017-02-28
  • 1970-01-01
  • 1970-01-01
  • 2010-11-25
  • 2013-06-22
  • 1970-01-01
相关资源
最近更新 更多