2016-10-17 2 views
-1

У меня есть файл xyz1.sh с содержимым, приведенным ниже с, когда я сделать кошку xyz1 я получаю результат:Разбиение файла Unix в сценарий оболочки

`$echo "Welcome to the server" 
Welcome to the server 
$echo "Hi this is content in the test file1." 
Hi this is content in the test file1. 
$ls 
abc.txt 
$date 
17 October 2016` 

Я стремлюсь создать новый файл xyz2 с только команды оболочки. Есть ли эффективный способ достичь этого, кроме поиска xyz1 для определенного набора команд. Может ли быть какой-либо способ идентифицировать все команды unix и вывести строки из файла?

xyz2, имеющий содержание:

`$echo "Welcome to the server" 
$echo "Hi this is content in the test file1." 
$ls 
$date` 

ТИА

ответ

1

Вы можете использовать команду Unix sed для обработки файла. Следующая команда d eletes каждая строка, соответствующая данному регулярному выражению, /^[^$]/ (которая находит каждую строку, которая делает не, находясь с $). Затем выход перенаправляется для создания нового файла xyz2.

sed '/^[^$]/d' xyz1.sh > xyz2 
+0

Спасибо. Но это пример кода. И могут быть файлы, предшествующие имени хоста, предшествующие каждой строке – user3894937

+0

, такие как user @ hostname:> cd dir1 – user3894937

+0

, поэтому в этом случае искал что-то, что будет идентифицировать это как команду – user3894937

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