ファイル名を解析してテキストファイルに追加します。

ファイル名を解析してテキストファイルに追加します。

名前には、作成日を含むファイルでいっぱいのディレクトリがあります(例: "mvr-20160420.csv")。このファイルには、テキストファイルに結合したコンマ区切りのデータが含まれています。各ファイルの日付部分をデータに追加する方法を見つけようとしています。ファイルは読み取ることができますが、ファイル名は読み取れません。

mvr-20160420.csvのサンプルファイル:

client employee id,first name,last name,points
14204,Bob,Smith,5

データにファイル名を追加しようとするKornスクリプトがあります。

for file in $Folder/path/burnsmcd-mvr*.csv
do 
FN=file

if [ $FIRSTTIME = $STATUS_OK ]
then 
  FIRSTTIME=$STATUS_NOT_OK
  cat $file | strings | sort -n | awk 'BEGIN{FS=","}{OFS="|"}{if ( $1 ~ /^[0-9]+$/) print "ADMVR", $1, $2, $3, $4, $FN}' > $Folder/path/ext_test.txt
else      
  cat $file | strings | sort -n | awk 'BEGIN{FS=","}{OFS="|"}{if ( $1 ~ /^[0-9]+$/) print "ADMVR", $1, $2, $3, $4, $FN}' >> $Folder/path/ext_test.txt
fi
done

したがって、私の出力ext_test.txtは次のようになります。

14204|Bob|Smith|5|14204,Bob,Smith,5

ファイル名を追加できないようです。日付部分も抽出する必要があります。

答え1

$ awk 'BEGIN {OFS=","} 
      { split (FILENAME, parts, "[-.]"); print FILENAME, parts[2], $0 }' \
      mrv-20161225.csv 
mrv-20161225.csv,20161225,client employee id,first name,last name,points
mrv-20161225.csv,20161225,14204,Bob,Smith,5

ない朝アッ職場で長い一日を過ごしたかのように。 ;-)

関連情報