Bash 我需要知道如何从命令行的参数中访问所需的字符
我需要知道如何从命令行的参数访问我想要的任何字符。类似于bash中的cut命令,但来自命令行 例如,如果我以Bash 我需要知道如何从命令行的参数中访问所需的字符,bash,Bash,我需要知道如何从命令行的参数访问我想要的任何字符。类似于bash中的cut命令,但来自命令行 例如,如果我以dd/mm/yyyy格式写入日期,并且我只需要字符dd、mm和yyyy。我该怎么做 我已经尝试过read命令,但我不知道如何很好地使用它。Bash提供了几种方法来提取子字符串(从命令行输入或变量) 按固定位置提取 拆分提取(适用于2019年1月2日等情况) 您可能希望为读取设置IFS,尽管问题并不完全清楚 IFS=/ read dd mm yyyy <<< "31/12/
dd/mm/yyyy
格式写入日期,并且我只需要字符dd
、mm
和yyyy
。我该怎么做
我已经尝试过read命令,但我不知道如何很好地使用它。Bash提供了几种方法来提取子字符串(从命令行输入或变量) 按固定位置提取 拆分提取(适用于2019年1月2日等情况)
您可能希望为
读取设置IFS
,尽管问题并不完全清楚
IFS=/ read dd mm yyyy <<< "31/12/2019"
echo "$yyyy-$mm-$dd" # -> 2019-12-31
IFS=/read dd-mm-yyyy谢谢大家,你们的答案非常有用!我已经解决了我的问题,很抱歉没有早点回答。是我干的
date=$1
day=$2
dd=$(echo $date | awk -F / '{print $1}')
mm=$(echo $date | awk -F / '{print $2}')
yyyy=$(echo $date | awk -F / '{print $3}')
请提供更多细节!输入和输出应该是什么样子?同时展示你已经尝试过的东西。你可以回答这个问题。顺便说一句,欢迎来到堆栈溢出!请使用并阅读。如果您想单独访问dd-mm-yyyy
,请将输入读取为字符串,并使用命令替换和tr
,例如printf“输入dd/mm/yyyy:”;read-r-datestr;arr=($(echo$datestr | tr/'')
现在您可以echo${arr[@]}
。您可以使用“bash参数替换”,这里的示例您能给我们更多的示例说明您正在尝试做什么吗?它可能会帮助我们。
IFS=/ read dd mm yyyy <<< "31/12/2019"
echo "$yyyy-$mm-$dd" # -> 2019-12-31
date=$1
day=$2
dd=$(echo $date | awk -F / '{print $1}')
mm=$(echo $date | awk -F / '{print $2}')
yyyy=$(echo $date | awk -F / '{print $3}')