2016-03-22 16 views
0

.tex dosyasında dizesini değiştirmek = 1000 Ben metin dosyasından aldım 1000 ile LaTeX dosyasında bbbb değiştirmek istiyorokumak .txt dosyasından numarası ve ben muhtevası, aaaa aşağıdaki içeren bir metin dosyası var

Aşağıdaki kodları denedim ama çalışmadım. Çizgiyi aşağıdaki pdf oluşturmak çalıştığında

seti motor_loc = Bu noktada

grep -i 'aaaa' motor.txt | awk '{print $2}'sed -i 's/bbbb/$motor_loc/' for_pdf.tex> for_pdf.tex.tmp

, bbbb Sonra $ motor_loc

değiştirildiğinde, bu bana bir hata verir.

pdflatex for_pdf.tex

Nasıl $ yerine motor_loc veya dize (metin dosyasından okunan değerin) 1000 bbbb'ait değiştirebilir.

Bilginize, ben Cygwin ve MiKTeX kullanıyorum ve 2.

şimdiden teşekkürler Ahududu Pi bu kodu çalıştırmayı dener.

cevap

0

sed için argümanlar tek tırnak değiştirmek, geri keneler vardır genişletilmiş olmaktan Değişkeninizi tutmak, bu yüzden de yararlı olabilir çift tırnak

[email protected]:~$ FOO=ABC 
[email protected]:~$ echo $FOO 
ABC 
[email protected]:~$ echo "$FOO" 
ABC 
[email protected]:~$ echo '$FOO' 
$FOO 

tırnak Başka bir tür için tek tırnak gitmek bir komutun dizelere çıkışı.

[email protected]:~$ FOO=`ls *.txt` 
[email protected]:~$ echo $FOO 
soap.txt 

DÜZENLEME: Komut ikame farklı bir formu daha yaygın bu günlerde

bash komut kullanılmak görünüyor
FOO=$(ls *.txt) 

+0

örneğin komuta nasıl işlendiğine ters eğik çizgi üzerinde belirgin farklar vardır Teşekkür ederim! Aslında başka bir problem bulmuş olsam da işe yaradı ... Elle 'motor_loc = 1000' yazdığımda, o zaman çalışıyor, ancak aşağıdaki satırın motor.txt 'set motor_loc = grep -i 'aaaa' motorundan değer okumamış olduğunu fark ettim .txt | awk '{print $ 2}' ' –

+0

Backtick'leri içeri sokmaya çalışıp çalışmadığınızı bilmiyorum. yorumlarda işaretleme garip. kod bir yorumda backticks muhafaza tarafından işaretlenmiş beri, nasıl backticks – infixed

+0

stackoverflow üzerine yorumlar içinde backticks koymak backticks – infixed

İlgili konular