Bash 将文件名的一部分附加到另一个文件名

Bash 将文件名的一部分附加到另一个文件名,bash,shell,unix,Bash,Shell,Unix,我有一个很长的文件名,我正在转换它,并从中创建一个新文件。我有一个坏的大脑失误,无法想出如何从原始文件的时间戳,并附加到我的新文件的结尾 527448423osel5108_k8lx2og.527448423_20171005-095125.20171005084554 以下是原始文件名的示例,20171005084554是我要附加到新文件中的部分 527448423osel5108_k8lx2og.527448423_20171005-095125.20171005084554 我运行我的

我有一个很长的文件名,我正在转换它,并从中创建一个新文件。我有一个坏的大脑失误,无法想出如何从原始文件的时间戳,并附加到我的新文件的结尾

527448423osel5108_k8lx2og.527448423_20171005-095125.20171005084554
以下是原始文件名的示例,
20171005084554
是我要附加到新文件中的部分

527448423osel5108_k8lx2og.527448423_20171005-095125.20171005084554
我运行我的脚本

#/bin/sh -x

grep "COLUMN:WM\|COLUMN:Vendor" ${1} | sed 's/^COLUMN://' | sed 's/\.//g' > cust_$(date +%Y%m%d)_converted.txt

grep "DATA:" ${1} | sed 's/^DATA://' >> cust_$(date +%Y%m%d)_converted.txt

# mv ${1} processed/
我有
$(日期+%Y%m%d)
的地方是我想要另一个时间戳的地方

有谁有unix/shell魔术可以帮我吗?

只需使用:

输出:

cust_20171005084554_converted.txt

如果这是文件名的格式,您只需grep最后14个字符,将其存储在一个变量中,类似于
my\u var=$(ls | ls*2017*| grep-o.\{14\}$)
并用
$my\u var
替换
$(日期+%Y%m%d)
,非常感谢。