Я не могу выполнить несколько операторов sed, используя фильтры трубы в переменной.
я пытаюсь извлечь путь из файла, а затем работаю над этим путем, чтобы изменить несколько букв в пути, выполнив другое выражение sed.
код выглядит так:
for i in 1 2 3 4 5 6 7
do
for j in F E I D
do
cpath="`sed -n "11,11p" <path.cfg | sed -n 's/voicex/voice'$i'/g; s/voicecolx/voicecol'$i'/g; s/" F "/" '$j' "/g;P'`"
echo $cpath
more $cpath 2>error.log | grep " '&j' " | wc -l | echo "The count of '$j' in file is: " `wc -l` 1>countdir/count$j.txt
done
done
я сохранил этот файл в stest.sh. Когда я запускаю файл, ничего не происходит. Я должен нажать Ctrl + C, чтобы вернуться в командную строку.
Позвольте мне также предоставить файл path.cfg:
MPAY
/var/xacct_data/xxxx/log_flattener/xxxx/logfile_current
FAFF
/var/xacct_data/faff/faff1/log_flattener/faffsnp1/ logfile_current
/var/xacct_data/faff/faff1/log_flattener/faffdbt1 /logfile_current
/var/xacct_data/faff/faff1/log_flattener/fafftxn1 /logfile_current
/var/xacct_data/faff/faff2/log_flattener/faffdbt2/ logfile_current
VOICE
/var/xacct_data/voice/voicex/log_flattener/ voicecolx/logfile_current
/var/xacct_data/voice/voicex/log_flattener/ voiceprox/logfile_current
/var/xacct_data/voice/voicex/log_flattener/ voicedisx/logfile_current
GPRS
/var/xacct_data/gprs/gprsx/log_flattener/gprscolx/logfile_current
/var/xacct_data/gprs/gprsx/log_flattener/gprsprox/logfile_current
/var/xacct_data/gprs/gprsx/log_flattener/gprsdisx/logfile_current
IPC
/var/xacct_data/ipc/ipcx/log_flattener/ipccolx/logfile_current
/var/xacct_data/ipc/ipcx/log_flattener/ipcprox/logfile_current
/var/xacct_data/ipc/ipcx/log_flattener/ipcdisx/logfile_current
SMS
/var/xacct_data/smsc/smscx/log_flattener/smsccolx/logfile_current
/var/xacct_data/smsc/smscx/log_flattener/smscprox/logfile_current
/var/xacct_data/smsc/smscx/log_flattener/smscdisx/logfile_current