W moim /var/tmp
mam następujące pliki:
ls | grep FILE
AAA-FILE.xml
BBB-FILE.xml
Za pomocą następującego polecenia wycinam pierwsze słowo plików w następujący sposób:
ls /var/tmp | grep FILE.xml | sed "s/.FILE.*//"
Dostaję:
AAA
BBB
Jak mogę zrobić to samo z Perlem, aby wstawić „AAA” i „BBB” do @RESULTS? Na przykład:
@RESULTS=perl syntax ...
sed -n "/FILE.xml/s/.FILE.*//p"
Odpowiedzi:
Zakładając, że nadal chcesz używać istniejącego polecenia, możesz to zrobić
Chomp polega na pozbyciu się nowej linii.
Bez uciekania się do wywoływania zewnętrznych poleceń:
źródło
ls|grep|sed
zsed -ne's/.FILE.*//p' /var/tmp
@RESULTS = grep(s[/var/tmp/(.*)-FILE.xml][$1],</var/tmp/*>);
źródło
źródło
źródło
źródło