首页 > 解决方案 > 从 Bash 变量中剥离字符 (2)

问题描述

我有一个小脚本,我需要从第一个句点 ('.') 中删除所有内容。

我使用${i%.*}

#!/bin/bash
today=$(date +"%Y%m%d")
limdir="/some/dir/"

cd $limdir  || exit
  for i in *Limit*${today}.csv
      do
      echo $i 
      echo /var/tmp/casper/${i%.*}
      done

从上一个时期开始,这一切都消失了。

casper1LimitChanges.20180813.csv
/var/tmp/bin/script/xenon/casper1LimitChanges.20180813

casper1LimitSnapshot.20180813.csv
/var/tmp/bin/script/xenon/casper1LimitSnapshot.20180813

我想要第一期的一切。这些文件需要如下所示:

casper1LimitChanges.20180813.csv
/var/tmp/bin/script/xenon/casper1LimitChanges

casper1LimitSnapshot.20180813.csv
/var/tmp/bin/script/xenon/casper1LimitSnapshot

标签: bash

解决方案


在循环内试试这个:

echo $i 
echo /var/tmp/casper/$i |cut -d\. -f1

推荐阅读