File unix中目录中的唯一文件名

File unix中目录中的唯一文件名,file,unix,directory,format,File,Unix,Directory,Format,我在一个目录中有一个捕获文件,其中一些日志正在写入一个文件中 word.cap 现在有一个脚本,当它的大小恰好变为1.6Gb时,它会清除自身并在同一目录中准备以下格式的文件- word.cap.COB2T_1389889231 word.cap.COB2T_1389958275 word.cap.COB2T_1390035286 word.cap.COB2T_1390132825 word.cap.COB2T_1390213719 现在我想一个接一个地选取脚本中的所有这些文件,并执行一些操作

我在一个目录中有一个捕获文件,其中一些日志正在写入一个文件中

word.cap
现在有一个脚本,当它的大小恰好变为1.6Gb时,它会清除自身并在同一目录中准备以下格式的文件-

word.cap.COB2T_1389889231
word.cap.COB2T_1389958275
word.cap.COB2T_1390035286
word.cap.COB2T_1390132825
word.cap.COB2T_1390213719
现在我想一个接一个地选取脚本中的所有这些文件,并执行一些操作。 我的剧本是-

today=`date +%d_%m_%y`
grep -E '^IPaddress|^Node' /var/rawcap/word.cap.COB2T* | awk '{print $3}' >> snmp$today.txt

sort -u snmp$today.txt > snmp_final_$today.txt
那么,我应该写些什么来逐个选择上述格式的所有文件名,因为我将把这个脚本放在crontab中,但我不想在编辑main
word.cap
文件时读取它。

根据您的评论:

谢谢,这是工作,但我有一个小问题。有 一些BZIP文件,如word.cap.COB2T_1390213719.bz2,因此 不希望这些文件在列表中,那么应该怎么做

您可以在循环中添加一个条件:

for file in word.cap.COB2T*; do
  if [[ "$file" != *.bz2 ]]; then
    # Do something here
    echo ${file};
  fi
done

用于word.cap.COB2T*中的文件;执行echo${file};完成
?您好@devnull,谢谢,这是工作,但我有一个小问题。有一些文件是bzipped的,例如word.cap.COB2T_1390213719.bz2,所以我不希望列表中有这些文件,那么应该怎么做?