deepblue_86 Asked: 2019-01-08 04:02:38 +0800 CST2019-01-08 04:02:38 +0800 CST 2019-01-08 04:02:38 +0800 CST 如何读取文件名的前四个字符? 772 我有几个扩展名为 .gz 的文件,其文件名类似于: ANKR00TUR_R_20183350000_01D_30S_MO.crx.gz 我需要读取这些文件名的前四个字符并将这些字符存储在一个文件中。我怎样才能做到这一点? scripts 2 个回答 Voted Best Answer AtomiX84 2019-01-08T04:17:55+08:002019-01-08T04:17:55+08:00 这里的代码取文件名的前四个字符; filename=ANKR00TUR_R_20183350000_01D_30S_MO.crx.gz tmp=${filename:0:4} echo $tmp 结果: echo "$tmp" ANKR 资源 对于列表 for file in ./*.gz do echo "${file:2:4}" | tee -a list.txt done 前一个 for 循环将在屏幕上打印结果并附加到 list.txt 来源来自Linux 文档项目 (TLDP) 上的文档 根据评论中的@steeldriver 建议更新 代码改进。 PerlDuck 2019-01-08T04:09:40+08:002019-01-08T04:09:40+08:00 要获取字符串的前 N 个字节,cut可以使用: echo ANKR00TUR_R_20183350000_01D_30S_MO.crx.gz | cut --bytes=1-4 > output 这将从给定的字符串中提取前 4 个字节并将其存储在文件中output。 要将上述代码应用于多个文件名,请使用 ls *.gz | cut --bytes=1-4 > output
这里的代码取文件名的前四个字符;
结果:
资源
对于列表
前一个 for 循环将在屏幕上打印结果并附加到 list.txt
来源来自Linux 文档项目 (TLDP) 上的文档
根据评论中的@steeldriver 建议更新 代码改进。
要获取字符串的前 N 个字节,
cut
可以使用:这将从给定的字符串中提取前 4 个字节并将其存储在文件中
output
。要将上述代码应用于多个文件名,请使用