0
我的目標是創建一個bash文件,該文件對大約16個文件中的行進行計數,每個文件都有一個日期,並將以下內容(16次)發送到.csv文件。Bash:使用cat和tr替換使用逗號替換字符串的問題
到目前爲止,我已經成功地計算了線,但.csv文件是凌亂,需要進行修整,並做出適合CSV:例如: 1500 FNB_EgTrans_20171004.txt
我的目標是使它看起來像這樣的:1500,EgTrans,20171004
有人能向我解釋爲什麼我使用TR與預期貓不工作的下面的方法?謝謝。 cat $reccnt | tr ' FNB_' ',' | tr '201' ',' < $reccnt
下面是詳細闡述的情況下,整個代碼是必要的:
#!/bin/bash
cd /ssinput/NY_AML/
reccnt=ny_row_count.csv
activedate='100000'
if [ -e $reccnt ];
then
rm $reccnt
else
touch $reccnt
chmod 755 $reccnt
fi
ls -t1 FNB*|head -15 |cut -c 13- > ny_activedate.txt #second tail or cut?
activedate=$(cat ny_activedate.txt)
echo $activedate
wc -l *$activedate | head -16 > $reccnt
reccnt="${reccnt##*()}"
cat $reccnt | tr 'FNB' ',' | tr '201' ',' < $reccnt`
'tr'翻譯字符,而不是單詞。就像它在手冊頁中所說的那樣。 –
*檢測到無用的貓*。是的,使用* sed *。 – 0andriy
在表達式'... |中tr'201'','<$ reccnt',你期望'tr'從哪裏得到它的輸入?它會從管道中讀取,還是從文件中讀取? –