将数据写入文件

时间:2013-12-14 13:42:06

标签: shell unix

我正在尝试将数据写入文件。这是脚本。它很容易也不正确。但请帮助我获得输出。

#!bin/ksh
DATE=date +'%m/%d/%Y'_$CNTR_SEQ
file1=$1 # Signifies DATE config file
file2=$2 # Signifies MONT config file
file3=$3 # Signifies YEAR config file
file4=$4 # Signifies SEQN config file
file5=$5 # Signifies FILETYPE config 
file6=$6 # Signifies CNTR1 config file
file7=$7 # Signifies CNTR2 config file


for CNTR_DATE in {0..100}; do
    for CNTR_SEQ in {1..4}; do
        NEXT_DATE=$(date +%m-%d-%Y_$CNTR_SEQ -d "$DATE + $CNTR_DATE day")
        echo $NEXT_DATE
        if [ -f $5=TST ]; then
            printf "$3-$2-$1|$4|\n0000000|0\n00000" > echo TST_$NEXT_DATE.dat 
            # This is the content of file.This should be the file creation with
            # that date's name pattern.The contents of file is been written into 
            # a specific name pattern. Is this correct?
        fi
        cat /MYDIR/$echo
        # A file is creating in the  MYDIR /FILE_NAME path.
        exit(0)
    done
done

1 个答案:

答案 0 :(得分:0)

很难理解你想要完成的事情。也许:

#!/bin/ksh
for days in {0..100}; do
    future_date=$(date -d "+$days days" +%m-%d-%Y)
    for seq in {1..4}; do
        file="/mydir/TST_${future_date}_${seq}.dat"
        if [ $5 = "TST" ]; then
            printf "$3-$2-$1|$4|\n0000000|0\n00000" > "$file"
        fi
    done
done

避免使用所有大写变量名。有一天,您将使用名为PATH的变量,然后想知道为什么您开始看到“未找到命令”错误。

我完全赞同评论“使用%Y-%m-%d”

相关问题