【问题标题】:How to add characters to a string between specific characters in bash?如何在bash中特定字符之间的字符串中添加字符?
【发布时间】:2015-10-13 14:54:08
【问题描述】:

现在我正致力于在 linux bash shell 中创建一个脚本,将单词“-BACKUP”添加到特定点之间的文件名中。例如,如果我有一个名为 file1.txt 的文件/字符串,我想在“file1”和“.txt”之间添加“-BACKUP”以生成“file1-BACKUP.txt”。我该怎么做呢?我会在任何地方使用basename 命令吗?在这种情况下,扩展名和词干可以是任何东西,而不仅仅是我举的例子。感谢所有帮助!

【问题讨论】:

  • f='file1.txt'; echo "${f/./-backup.}"
  • 我想在最后的 '.' 之前插入字符如果有茎。如果没有茎,那么我宁愿它什么都不做。
  • @anubhava 你能解释一下你的建议是如何工作的吗?
  • "${f/./-backup.}" 正在用-backup. 替换 DOT 的字符串

标签: linux string bash shell scripting


【解决方案1】:

使用子字符串处理参数扩展运算符% 将字符串中的后缀去掉,然后追加新的文本。该变量必须用大括号括起来才能使子字符串处理参数扩展起作用。

var="file1.txt"

echo "${var%.txt}.BACKUP.txt"

【讨论】:

    猜你喜欢
    • 2015-03-13
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多