tente isso: awk '\Modelname\ {print}' directory/of/the/file
Gostaria de pegar um nome de outro arquivo predefinido e usá-lo no meu shell script.
O arquivo que está sendo lido estaria em ./docs/description.org
e o formato (uma tabela em .org
format) é:
...some text
| Time | 12.00 |
| Name | D0_50_H04 |
| blah | blah |
... more text
O nome não terá espaços (será alfanumérico + sublinhado), e será circundado pelo caractere pipe |
, na coluna que segue diretamente a única linha que contém a palavra "Nome".
Eu gostaria de ler o valor Name (neste caso "D0_50_H04") e usá-lo dentro de um script de shell.
O script My Bash é parecido com:
#!/bin/bash
...some stuff
#Read in the model name
ModelName = #how do I do this??
#Create that directory
mkdir $SCRATCHDIR/$ModelName
cd $SCRATCHDIR/$ModelName
..continue working in that new dir
Eu estava pensando em usar o grep, mas não consegui que ele funcionasse corretamente.
Alguém poderia ajudar?
O que exatamente não funciona para você com o grep ? Tente ver o comando cortar . Você está olhando para algo como:
grep YourFileNameHere -e "| Name |" | cut -d " " -f 4
isso deve analisar YourFileNameHere
e procurar a linha que contém | Name |
, em seguida canalize essa linha para o comando cut
que escolherá o quarto símbolo entre os delimitadores (espaço), que de acordo com sua descrição deve ser
D0_50_H04