Başka bir sorunla uğraşıyorum, bu sefer çıktıyı bir dosyaya yönlendirmekle ilgili (>
). Foo-ab.in foo-abc.in foo-abcd.in bar-ab.in bar-abc.in bar-abcd.in gibi bir kaç dosyam var ve her dosyaya geçmek istiyorum, küçük bunun bir kısmı ile sed ve sonra her dosya için foo-ab2.in, foo-abc2.in ve foo-abcd2.in gibi bir şeye sonuçları yeniden yazınız. Ne var bugüne kadar geçerli: giriş çıkış dosyasına yazılan sed output
for file in foo bar; do sed -n 's/text to change/replacement/ p' $file*.in> &1; done
ancak hatayı alıyorum:
-bash: syntax error near unexpected token `&'
Ben muhtemelen tüm yanlış yapıyorum anlıyorum, ama ben bunu gerçekleştirmek istiyorum:
for file in foo bar; do sed -n 's/text to change/replacement/ p' $file*.in > $file*2.in; done
Burada $file*2.in
, $file.in
ile tam olarak aynı adla 2 eklenir, ancak ab, abc veya abcd sonlarıyla birden çok foo
olduğundan Bunu nasıl başaracağımı bilmiyorum. Ben zaten benim sed
komutum var, çıktı almak için sadece doğru bir dosya adıdır.