shell常用文件操作命令

读取文件

将一行数据写入文件

echo "$(date "+%Y%m%d")=true"  > financials.log

读取文件的最后一行


tail -n 1 financials.log

# 赋值给变量
FINC_FLAG=$(tail -n 1 financials.log)

读取文件指定行指定列

sed -n 1p financials.log|cut -d ' ' -f1 # 第一行第一列
# 赋值给变量
FINC_FLAG=$(sed -n 1p financials.log|cut -d ' ' -f1)

读取文件内str判断和字符串是否相等


myOutputFileFlag="financials.log"
FINC_FLAG=$(tail -n 1 $myOutputFileFlag)
if [[ "$FINC_FLAG" == "$(date "+%Y%m%d")=true" ]];then
    single_table_transform_handler.ksh dw_clsfd.stt_clsfd_bsc_finc_data_w_tmp 
fi

判断文件是否存在并写入数据


if [ -f "$myInputFile" ]; then
		
	  echo "$(date "+%Y%m%d ttt")=true"  > $myOutputFileFlag
      #>>追加写入   > 覆盖写入
      echo "$(date "+%Y%m%d")=true"  >> $myOutputFileFlag
      echo  "File $myOutputFile  finished writing"

else
      echo "$(date "+%Y%m%d")=true"  > $myOutputFileFlag
      echo  "File $myInputFile  does not exist"
fi

参考文献

shell 实现读取文件某行的内容
shell获取文件最后一行
shell中if判断文件夹或文件是否存在!


版权声明:本文为bug4pie原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。