or:
FILE=source.file
for ((i=1;i<=$(wc -l $FILE | awk '{print $1}');i++)); do
awk "{if (NR == $i) print \$0}" $FILE \
|sed "s/^[^@]*/$i/"
done
報告大大兩個都不行~~~~
:cry:
error 為何?
標點符號都打對了嗎?
或試一試:
1) 將 awk 那兩行打成一行:
awk "{if (NR == $i) print \$0}" $FILE |sed "s/^[^@]*/$i/"
2) 將 sed 那行改成:
| sed "s/^[0-9]*@/$i@/"
或:
| sed -e 's/\(@@@.*$\)/:&/' -e "s/^.*:/$i/"
ㄟ.....謝謝大大在課程中把小弟的案例拿出來討論
不過我是用copy paste的方式作成檔案來執行的
我把錯誤貼上來看看ㄛ...
一個是這樣
./cal1: line 4: syntax error near unexpected token `|'
./cal1: line 4: ` |sed "s/^[^@]*/$i/" '
另一個
awk: cmd. line:1: { if (NR == 1) print 1\
awk: cmd. line:1: ^ backslash not last character on line
./cal1: line 5: /backup/calender.book: 拒絕不符權限的操作
awk: cmd. line:1: { if (NR == 2) print 2\
awk: cmd. line:1: ^ backslash not last character on line
./cal1: line 5: /backup/calender.book: 拒絕不符權限的操作
awk: cmd. line:1: { if (NR == 3) print 3\