我正在尝试在 unix 脚本中创建 hdr 记录。我正在使用 printf 函数来填充。 printf 语句在该行中添加了 2 个空格。
我正在使用下面的代码
REC_TYP="1"
SYS_ID="AN" #CR119
SYS_FILE_NBR="03"
DT_STAMP=`date +%Y%m%d`
DT_STAMP=$(echo "$DT_STAMP" | tr -s " ")
TI_STAMP=`date +%T`
TI_STAMP1=$(echo "$TI_STAMP" | sed 's/://g')
FILE_TXT="abc_FILE"
echo "Date value:"$DT_STAMP
echo "Timestamp:"$TI_STAMP1
printf '%s%1s%2s%2s%8s%6s\n' $REC_TYP $SYS_ID $SYS_FILE_NBR $DT_STAMP $TI_STAMP1 #$FILE_TXT
我期待如下的输出
1AN0320230822024946abc_FILE
但我得到如下输出
1AN0320230822 024946abc_FILE
任何人都可以帮我在上面的代码中添加 2 个空格吗
尝试
printf '%s%2s%2s%2s%6s%6s\n' "$REC_TYP" "$SYS_ID" "$SYS_FILE_NBR" "$DT_STAMP" "$TI_STAMP1" "$FILE_TXT"
我猜你的宽度错误,不要忘记引号。