Если вы пишете скрипт оболочки bash, вы можете разбить его по столбцам, используя cut.Есть действительно так много вариантов, что это зависит от того, что вы хотите сделать.
В моем опыте с данными я использовал двоеточие, а не трубу, потому что это позволяет мне избежать escape с помощью команды 'cut'.
Изменение файлов данных на:
cat example1.txt
example:42:udajha:llama:04
example:22:udajha:llama:02
Я бы написал так: (добавив -x, чтобы вы могли видеть обработку, но в вашем коде она вам не нужначтобы сделать это.)
[root@]# cat mysript.sh
#!/bin/sh -x
one=`cat example1.txt | cut -d: -f5`
two=`cat example2.txt | cut -d: -f5`
for i in $one
do
if [ $i -eq $two ]
then
movethis=`grep $two example1.txt`
echo $movethis >> /home/me/error.txt
fi
done
cat /home/me/error.txt
[root@]# ./mysript.sh
++ cat example1.txt
++ cut -d: -f5
+ one='04
02 '
++ cat example2.txt
++ cut -d: -f5
+ two=02
+ for i in '$one'
+ '[' 04 -eq 02 ']'
+ for i in '$one'
+ '[' 02 -eq 02 ']'
++ grep 02 example1.txt
+ movethis='example:22:udajha:llama:02 '
+ echo example:22:udajha:llama:02
+ cat /home/me/error.txt
example:22:udajha:llama:02
Вы можете использовать любую живую команду для перемещения вашего контента.Коснитесь, CP, MV, что вы хотите использовать там.