Мне нужно выполнить следующие задачи. Они включены в сценарий bash.скрипт bash для взаимодействия над несколькими файлами
1) Читайте из файла, такого как нижеследующий, и для всех строк, которые имеют как vars var1 = "AB", так и var2 = "14003" Мне нужно поймать подстроку из col 4 с помощью len 8, скажем, в var3 (массив, вероит. или в цикле, а затем удалите эти строки.
2 *563587992014-01-26 2014-01-26T09:45:53 AB 14003 5 3.60
2 563589242014-01-26 2014-01-26T10:03:13 AB 14003 6 4.80
2 563589252014-01-26 2014-01-26T10:03:20 TC 14002 2 5.50
2 563589272014-01-26 2014-01-26T10:03:34 FF 14002 3 3.30
соответствующих поля, отмеченные * 2) Тогда мне нужно пройти через собранные подстроки и откройте другой файл, подобный приведенному ниже, и удалите все строки, которые подстрока (4,8) соответствует предыдущей, собранной в var3
56370388 1 1.000 95 0.80Double Coffe
*56358799 1 1.000 94 0.40Milk‚
*56358799 2 1.000 94 0.40Coffe‚
56370388 1 1.000 97 0.40Descafe
Я думал, может быть, в вложенном цикле, используя awk и sed. Но входы будут оценены :)
большая часть данных в вашем примере вывода не кажется, быть в вашем примере ввода. Хороший Q на S.O. будет иметь 1. с учетом этого ввода образца, 2. пример вывода образца. 3. Переполнение стека не должно быть источником бесплатного программирования, поэтому вы должны включить в свой вопрос свой текущий код, 4. свой текущий вывод и 5. свои мысли о том, почему он не работает ;-) OK ?!? ;-). Также знайте, что вы можете использовать инструмент '{}' в левом верхнем углу окна ввода кода форматирования кода. Удачи. – shellter
Почему в первой строке в верхнем файле есть только звезда? Разве не должна быть звезда также во втором ряду? (Вторая строка, похоже, также соответствует «var1' и' var2' ..) –