Ich habe Dateinamen wie folgt (weggelassen die tatsächlichen Namen) Ich muss den Dateinamen zwischen dem Dateinamen_prefix und Runid Problem hier ist der Dateiname ändert und ist 2-5 Felder lang . Ich habe mit diesemAusschneiden einer Zeichenfolge zwischen zwei Variablen Sub-Zeichenfolgen in Shell
echo "filename_prefix_filename_filename_filename_runid_date_part-r-00020-c68fdc43-53bc-4aa9-a96b-2692ae2aa508.orc " | awk 'NR > 1 {print $1}' RS='filename_prefix' FS='runid'
Dies funktioniert auf der Kommandozeile in Ordnung, aber ich brauche RS und FS als Variablen zu übergeben, die ich nicht in der Lage bin, weil
echo of file name |awk -v file_p=$file_prefix -v r_id=_$RUN_ID 'NF > 1 {print $1}' RS=file_p FS=r_id
der obigen Befehl doesn zu tun arbeite nicht.
Dateinamen:
filename_prefix_filename_filename_filename_runid_date_part-r-00020-c68fdc43-53bc-4aa9-a96b-2692ae2aa508.orc
filename_prefix_filename_filename_runid_date_part-r-00020-c68fdc43-53bc-4aa9-a96b-2692ae2aa508.orc
Danke. Lief wie am Schnürchen. Verstanden die Arbeit von awk, danke für die Hilfe – zeushvk