【问题标题】:cut append variable bash [duplicate]剪切附加变量bash [重复]
【发布时间】:2017-03-13 14:35:16
【问题描述】:

如何将我通过cut 获得的字符串变量附加到下一个变量?在文件 application.properties 中,我有值:myValue=/tmp/user/ 我试过了:

file=myfile.properties
path=$(cat application.properties | grep myValue=)
path2=$(echo $path | cut -d'=' -f 2- )
pathToFile=$path2$file

但输出只有:myfile.properties。我需要 /tmp/user/myfile.properties

感谢您的帮助。

【问题讨论】:

  • 似乎你的 path2 变量的值可能是空的(只需通过分配一个测试值来测试它, pathToFile=$path2$file 应该可以工作),所以如果你能让我们知道示例 Input_file 和预期输出就更好了.
  • 点头。运行 bash -x yourscript 将有助于检测事物首先以意外方式出现的位置。
  • Path2 总是包含值。经过测试,输入文件(application.properties)的格式为:variable=value(例如:myValue=/tmp/user/)下一个输入是文件(这些值是从文件夹中获取的)例如:myfile.properies 输出:tmp/user/myfile.properies 我正在运行 bash yourscrip.sh

标签: bash append cut


【解决方案1】:

根本不要使用cut:Shell 的内置字符串操作可以为您完成此修剪。 (并且不要使用cat:让grep 直接从文件中读取比让它从单独的进程读取然后写入FIFO 更有效)。

file=myfile.properies
path=$(grep myValue= <application.properties)
pathToFile=${path#*=}${file}

【讨论】:

    猜你喜欢
    • 2014-07-03
    • 2021-01-06
    • 2016-10-16
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    相关资源
    最近更新 更多