如何在unix脚本中提取文件名的一部分并检查它是否存在
how to extract a part of file name in unix scripting and check if it exists
我需要编写一个脚本,我必须从文件 abc_def_xxx_yyy_20210515.txt
中提取部分名称并检查 abc_def_xxx_yyy.txt
是否存在。如果没有,则创建文件。
FILE="abc_def_xxx_yyy_20210515.txt"
DLS=echo $FILE | awk -F_ '{print ,,,".txt"}'
DLL=\home\xxx$DLS
if [-f "$DLL"]; then
echo "$DLL exists"
else
touch "$DLL"
fi
我收到错误提示 "abc_def_xxx_yyy_20210515.txt" not found
但如果我 运行 和
FILE="abc_def_xxx_yyy_20210515.txt"
echo $FILE | awk -F_ '{print ,,,".txt"}'
我得到 abc_def_xxx_yyy.txt
。
有人可以帮我解决这个问题吗?
尝试:
FILE="abc_def_xxx_yyy_20210515.txt"
DLS="${FILE%_*}.txt"
DLL="$HOME/$DLS"
if [ -f "$DLL"]; then
echo "$DLL exists"
else
touch "$DLL"
fi
我需要编写一个脚本,我必须从文件 abc_def_xxx_yyy_20210515.txt
中提取部分名称并检查 abc_def_xxx_yyy.txt
是否存在。如果没有,则创建文件。
FILE="abc_def_xxx_yyy_20210515.txt"
DLS=echo $FILE | awk -F_ '{print ,,,".txt"}'
DLL=\home\xxx$DLS
if [-f "$DLL"]; then
echo "$DLL exists"
else
touch "$DLL"
fi
我收到错误提示 "abc_def_xxx_yyy_20210515.txt" not found
但如果我 运行 和
FILE="abc_def_xxx_yyy_20210515.txt"
echo $FILE | awk -F_ '{print ,,,".txt"}'
我得到 abc_def_xxx_yyy.txt
。
有人可以帮我解决这个问题吗?
尝试:
FILE="abc_def_xxx_yyy_20210515.txt"
DLS="${FILE%_*}.txt"
DLL="$HOME/$DLS"
if [ -f "$DLL"]; then
echo "$DLL exists"
else
touch "$DLL"
fi