2010-05-07 3 views
1

Я пытаюсь изменить содержимое определенной строки в пакете файлов. Я думал, что это будет кусок пирога, но по какой-то причине ничего не происходит, поэтому, я думаю, я чего-то не хватает. Строка 8 должна быть заменена.заменить строку с sed в csh

Здесь CSH сценарий я использовал:

#!/bin/csh 
# 
# replace context in line xxx by yyy 
# 2010/05/07 

set files = `ls FILENAMEPART*` 
echo $files 
foreach file ($files) 
     sed '8,8 s/1/2 /' $file 
end 

спасибо за предложения

ответ

2

SED печатает полученный файл (с линиями заменены) на стандартный вывод по умолчанию и покидает источник (входной файл) нетронутым. Используйте параметр -i для редактирования на месте, что означает, что изменения производятся непосредственно в $ file.

+0

спасибо миллион :) –

+0

Добро пожаловать. Пожалуйста, примите ответ, если он решает вашу проблему. – jkramer

+0

уверен, я просто ждал минут, чтобы пройти, прежде чем мне разрешили –

Смежные вопросы