1

YYYY-MM-DD 形式の入力日付を受け入れるスクリプトがあります。

その後、sed を使用してハイフン (-) を削除すると、YYYY MM DD という出力が得られます。

私の質問は、これらの 3 つの数値を 3 つの異なる変数に割り当てるにはどうすればよいかということです。

例:

2013-11-23 は 2013 11 23 になります

echo "Please input date[yyyy-mm-dd]: "
read date
echo $date | sed 's/\-/ /g' #this will give me the output of yyyy mm dd

このように、その 3 つの数字 (yyyy、mm、dd) を個別に変数に割り当てたいと思います。

X=yyyy
Y=mm
Z=dd

ありがとう。

4

4 に答える 4

7

次のようなことを試してください:

X="2013 11 12"
read X Y Z <<<$(echo $X)
于 2013-10-11T02:54:02.197 に答える
1

次のことができます。

> now=2013-11-23
> year=`echo $now | awk -F- '{ print $1 }'`
> month=`echo $now | awk -F- '{ print $2}'`
> day=`echo $now | awk -F- '{ print $3 }'`
> echo $year.$month.$day
2013.11.23
于 2013-10-11T02:59:04.680 に答える
0

年、月、日を含む 3 つの変数だけが必要な場合。あなたはただそうすることができます

#Get the year
X=`date '+%Y'`
echo $X

#Get the month
Y=`date '+%m'`  
echo $Y

#Get the date
Z=`date '+%d'`
echo $Z
于 2013-10-11T10:19:02.333 に答える