gpt4 book ai didi

linux - 在 Unix 中提取子字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:10 26 4
gpt4 key购买 nike

我在 Windows 7 上使用 cygwin。我想遍历一个包含大约 10,000 个文件的文件夹,并对每个文件执行信号处理工具的操作。问题是文件名有一些与操作不兼容的多余字符。因此,我只需要提取文件名的特定部分。

例如,如果文件名为 abc123456_juSTLike.txt.rna,我需要使用 abc123456_juSTLike.txt。我应该如何编写一个循环来遍历每个文件并对缩短的文件名执行操作?

我尝试了 cut - b1-10 命令,但我的工具无法执行必要的操作。如果能帮助解决这个问题,我将不胜感激

最佳答案

尝试一些 shell 脚本,使用 ${NAME%TAIL} 参数替换:变量 NAME 的内容被扩展,但任何与 TAIL glob 模式匹配的后缀 Material 被切掉。

$ NAME=abc12345.txt.rna
$ echo ${NAME%.rna} #

# process all files in the directory, taking off their .rna suffix
$ for x in *; do signal_processing_tool ${x%.rna} ; done

如果文件名之间存在差异,可以用大小写进行分类:

for x in * ; do
case $x in
*.rna )
# do something with .rna files
;;
*.txt )
# do something else with .txt files
;;
* )
# default catch-all-else case
;;
esac
done

关于linux - 在 Unix 中提取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9573121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com