当前位置: 首页 > 知识库问答 >
问题:

从Bash[重复]文件名中提取信息

仲孙夕
2023-03-14

假设我有一个名为. csvABC_DE_FGHI_10_JK_LMN文件。我想从文件名(即10)中提取ID,借助ID位置和文件名分隔符。我有以下两个输入

File-name_ID_Position=4; [since 10 is at fourth position in file-name]
File-name_Delimiter="_";

此处ID可以是数字或字母数字。那么,如何在上述两个输入的帮助下从上述文件中提取10。如何在bash中实现这一点?

共有1个答案

秦博延
2023-03-14

而不是写一个正则表达式在bash,我会做它与awk:

echo 'ABC_DE_FGHI_10_JK_LMN.csv' | awk -F_ -v pos=4 '{print $pos}'

或者如果您希望点也是分隔符(需要GNU awk):

echo 'ABC_DE_FGHI_10_JK_LMN.csv' | awk -F'[_.]' -v pos=4 '{print $pos}'
 类似资料:
  • 我在造一个机器人来运行一个不和谐的游戏。玩家登录,他们的数据被推入一个数组,如下所示:

  • 问题内容: 是否有从文件名中提取扩展名的功能? 问题答案: 使用(请参阅Python 2.X文档或Python 3.X文档): 与大多数手动字符串拆分尝试不同,它将正确地视为没有扩展而不是具有,并且将被视为没有扩展而不是具有:

  • 我的 tar 文件位于以下位置: 使用 tar 命令: 命令显示我: 我的计划或更好的愿望是这样处理: 我只想要一个tar文件并将其存储到不同的目录……但是这个带有-C的命令不起作用…它提取tar的所有文件…… 我的问题是,是否可以只提取一个Tar文件,而不将提取到目录中??另一个问题:是否有可能只提取tar文件而不提取文件夹这可能是更好的方法,但我不知道如何。。。? 不,没有路径我就不能保存文件

  • 我有一个bash文件在建立postgres数据库。 我有一个导出密码的简单bash文件 节点服务器的其余部分使用保存在. env文件中的环境变量。为了顺序和简单起见,我希望我的postgres密码存储在同一个文件中: 如何从数据库中导入变量。env文件是否作为bash文件? 有没有其他方法可以解决上述问题?

  • 我想删除文件的标题,并替换同一文件中没有标题的内容。 示例: 输出应该是: 情况是我不想为此更改创建任何新文件。可以这样做吗? 我尝试了: 但这不起作用。感谢您的帮助!

  • 对于任何给定的问题,很可能已经有人把答案写在某个地方了。以电子形式提供的自然语言文本的数量真的惊人,并且与日俱增。然而,自然语言的复杂性使访问这些文本中的信息非常困难。NLP目前的技术水平仍然有很长的路要走才能够从不受限制的文本对意义建立通用的表示。如果我们不是集中我们的精力在问题或“实体关系”的有限集合,例如:“不同的设施位于何处”或“谁被什么公司雇用”上,我们就能取得重大进展。本章的目的是要回