Мне нужно получить записи из текстового файла в Unix. Разделитель - несколько пробелов. Например:
2U2133 1239
1290fsdsf 3234
Отсюда, Мне нужно извлечь
1239
3234
Разделителем для всех записей всегда будет 3 пробела.
Мне нужно сделать это в скрипте unix (.scr) и записать результат в другой файл или использовать его как вход для do -время цикла. Я пробовал следующее:
while read readline
do
read_int=`echo "$readline"`
cnt_exc=`grep "$read_int" ${Directory path}/file1.txt| wc -l`
if [ $cnt_exc -gt 0 ]
then
int_1=0
else
int_2=0
fi
done < awk -F' ' '{ print $2 }' ${Directoty path}/test_file.txt
test_file.txt - это входной файл, а file1.txt - это файл поиска. Но описанный выше способ не работает и дает мне синтаксические ошибки рядом с awk -F
. Я попытался записать вывод в файл. В командной строке работало следующее:
more test_file.txt | awk -F' ' '{ print $2 }' > output.txt
Это работает и записывает записи в output.txt в командной строке. Но та же команда не работает в сценарии unix (это файл .scr)
Пожалуйста, дайте мне знать, где я ошибаюсь и как я могу решить эту проблему.
Спасибо,
scr) и записать вывод в другой файл или использовать его как ввод для цикла do-while. Я попробовал следующее:
while read readline
do
read_int=`echo "$readline"`
cnt_exc=`grep "$read_int" ${Directory path}/file1.txt| wc -l`
if [ $cnt_exc -gt 0 ]
then
int_1=0
else
int_2=0
fi
done < awk -F' ' '{ print $2 }' ${Directoty path}/test_file.txt
test_file.txt - это входной файл, а file1.txt - это файл поиска. Но описанный выше способ не работает и дает мне синтаксические ошибки рядом с awk -F
. Я попытался записать вывод в файл. В командной строке работало следующее:
more test_file.txt | awk -F' ' '{ print $2 }' > output.txt
Это работает и записывает записи в output.txt в командной строке. Но та же команда не работает в сценарии unix (это файл .scr)
Пожалуйста, дайте мне знать, где я ошибаюсь и как я могу решить эту проблему.
Спасибо,
scr) и записать вывод в другой файл или использовать его как ввод для цикла do-while. Я пробовал следующее:
while read readline
do
read_int=`echo "$readline"`
cnt_exc=`grep "$read_int" ${Directory path}/file1.txt| wc -l`
if [ $cnt_exc -gt 0 ]
then
int_1=0
else
int_2=0
fi
done < awk -F' ' '{ print $2 }' ${Directoty path}/test_file.txt
test_file.txt - это входной файл, а file1.txt - это файл поиска. Но описанный выше способ не работает и дает мне синтаксические ошибки рядом с awk -F
. Я попытался записать вывод в файл. В командной строке работало следующее:
more test_file.txt | awk -F' ' '{ print $2 }' > output.txt
Это работает и записывает записи в output.txt в командной строке. Но та же команда не работает в сценарии unix (это файл .scr)
Пожалуйста, дайте мне знать, где я ошибаюсь и как я могу решить эту проблему.
Спасибо,
more test_file.txt | awk -F' ' '{ print $2 }' > output.txt
Это работает и записывает записи в output.txt в командной строке. Но та же команда не работает в сценарии unix (это файл .scr)
Пожалуйста, дайте мне знать, где я ошибаюсь и как я могу решить эту проблему.
Спасибо,
more test_file.txt | awk -F' ' '{ print $2 }' > output.txt
Это работает и записывает записи в output.txt в командной строке. Но та же команда не работает в сценарии unix (это файл .scr)
Пожалуйста, дайте мне знать, где я ошибаюсь и как я могу решить эту проблему.
Спасибо,
Visakh