Dzień dobry,
Nie wiem jak się zabrać do takiego problemu, może ktoś będzie uprzejmy naprowadzić.
Potrzebuję w katalogu np. dane1 w zawartych tam plikach 1.txt 2.txt itd znaleźć pliki które w sekcji <jakaś sekcja> zawierają ciąg znaków który znajduje się w pliku lista.txt
Jeśli zatem znajdę w pliku 1.txt ciąg 123 to sprawdzam czy jest on w pliku lista.txt i jeśli jest to kopiuję go (plik 1.txt) sobie do katalogu np. znalezione.
Jeśli zaś nie ma zawartości tej sekcji na lista.txt to zostawiam plik w spokoju.
Je
Podpowiadam hasłami [dla skryptu w bash]: pętla while, read, grep/sed, cp, if i pewnie coś jeszcze może okazać się przydatne.
Musisz raczej czytać plik lista.txt linia po linii jak pisałem wcześniej, i sprawdzać czy owa linia występuje w którymś z plików (1.txt, 2.txt itd) i w zależności od rezultatu podjąć akcję - kopiować lub nie.
Musisz raczej czytać plik lista.txt linia po linii jak pisałem wcześniej, i sprawdzać czy owa linia występuje w którymś z plików (1.txt, 2.txt itd) i w zależności od rezultatu podjąć akcję - kopiować lub nie.
Kod: Zaznacz cały
#!/bin/bash
lista=`cat lista.txt |awk '{print $1}'`
cp `grep -l "$lista" /katalogod/*.txt` /katalogdo/