linux - tagger - wav tag editor




Obtención de n-th línea de salida de texto (4)

Tengo un script que genera dos líneas como salida cada vez. Estoy realmente interesado en la segunda línea. Además, solo me interesa el texto que aparece entre un par de # 's en la segunda línea. Adicionalmente, entre los hashes, se usa otro delimitador: ^ A. Sería fantástico si también pudiera separar cada parte del texto que está delimitado por ^ A (tenga en cuenta que ^ A es un carácter especial SOH y se puede escribir usando Ctrl-A)


Aquí hay una posible solución awk

awk -F"#" 'NR==2{
 for(i=2;i<=NF;i+=2){
  split($i,a,"\001") # split on SOH
  for(o in a ) print o # print the splitted hash
 }
}' file

Mejorando la respuesta de Grumdrig:

your.program | head -n 2| tail -1 | cut -d# -f2 

golpetazo:

read
read line
result="${line#*#}"
result="${result%#*}"
IFS=$'\001' read result -a <<< "$result"

$result es ahora una matriz que contiene los elementos que le interesan. Simplemente canalice la salida del script a este.


output | sed -n '1p'  #prints the 1st line of output

output | sed -n '1,3p'  #prints the 1st, 2nd and 3rd line of output




linux