小编cod*_*c24的帖子

如何使用 shell 转换为日期格式 (DD MMM YYYY)?

我在一个文件中有数据,其中一列是日期列,其日期格式如下:

2021-05-10T18:25:00.000+0100
2021-05-14T18:25:00.000+0100
2021-05-19T18:25:00.000+0100
Run Code Online (Sandbox Code Playgroud)

预期输出为:

10 MAY 2021
14 MAY 2021
19 MAY 2021
Run Code Online (Sandbox Code Playgroud)

我尝试过的方法:

while -r read line
do
    year=`echo $line | awk '{ print $1 }' `
    month=`echo $line | awk '{ print $2 }' `
    dt=`echo $line | awk '{ print $3 }' `

    v=$dt"-"$month"-"$year
    d=date '`$v' | dd-mm-yyyy
    echo $d
done < /f/filename.txt
Run Code Online (Sandbox Code Playgroud)

shell awk

25
推荐指数
6
解决办法
1924
查看次数

检查文件是否为空

我的文件中没有任何数据 需要检查以下场景并返回文件为空,否则不为空

if file contains no data but as only spaces return it as FILE is EMPTY 
if file contains no data but as only tabs   return it as FILE is EMPTY
if file contains no data but as only empty new line  return it as FILE is EMPTY  
Run Code Online (Sandbox Code Playgroud)

下面的代码是否能满足我上述所有情况?或一次性使用任何最佳方法

if [ -s /d/dem.txt ]
then
    echo "FILE IS NOT EMPTY AS SOME DATA"
else
    echo "FILE IS EMPTY NOT DATA AVAILABLE"
fi 
Run Code Online (Sandbox Code Playgroud)

shell awk text-processing

2
推荐指数
1
解决办法
1251
查看次数

标签 统计

awk ×2

shell ×2

text-processing ×1