Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 连接文件名时设置Unix日期格式(Unix Shell脚本)_Linux_Shell_Unix - Fatal编程技术网

Linux 连接文件名时设置Unix日期格式(Unix Shell脚本)

Linux 连接文件名时设置Unix日期格式(Unix Shell脚本),linux,shell,unix,Linux,Shell,Unix,所需格式: START_STOP_AA_07062013.txt 由我创建: START_STOP_AA_07July13.txt 脚本: @Script Level : $A.Process[0].DateRange.RunDate = [String]::Format("{0:MMddyyyy}", DateTime]::Parse("${RunDate}")); $A.Process[0].Local.FileName = "START_STOP_AA_${RunDate}.tx

所需格式:

START_STOP_AA_07062013.txt
由我创建:

START_STOP_AA_07July13.txt
脚本:

@Script Level :  

$A.Process[0].DateRange.RunDate = [String]::Format("{0:MMddyyyy}", DateTime]::Parse("${RunDate}"));
$A.Process[0].Local.FileName = "START_STOP_AA_${RunDate}.txt"

@Varible Level blank

请提供帮助。

您需要
日期
命令:

rundate=$(date "+%m%d%Y")
filename="START_STOP_AA_${rundate}.txt"
GNU日期手册:


让我戴上ESP帽子,然后再试一次: 您获得了
START\u STOP\u AA\u 07062013.txt
,您希望将其“转换”为
START\u STOP\u AA\u 06July2013.txt

given=START_STOP_AA_07062013.txt
if [[ $given =~ (.*_)([0-9][0-9])([0-9][0-9])([0-9][0-9][0-9][0-9])(.*) ]]; then
    mon=${BASH_REMATCH[2]}
    day=${BASH_REMATCH[3]}
    year=${BASH_REMATCH[4]}
    date=$( date -d "$mon/$day/$year" "+%d%B%Y" )
    echo "${BASH_REMATCH[1]}${date}${BASH_REMATCH[5]}"
fi

我强烈建议使用日期格式————————————————————————&mdash。。java和javascript..看起来都很模糊
perl
-ish,但我不是100%确定,因为我倾向于避免
perl
whe(re | n)whe(re | n)whe(re | n)whe(re | n)whe(re | n)可能..感谢您回复运行日期变量formate reamin,与0404040142014相同,但当我将其更改为04April2014See时,请参阅并将
%m%d%Y
更改为。。。另外,欢迎来到StackOverflow,但这是一个质量很差的问题。你的需求完全不清楚(尤其是对你不想要的东西使用“required”这个词是很糟糕的)。看见