я следующий шаблоном в моем текстовом файле:Создать новый файл для текста между рисунком
./folder1/folder2/myfile.java
//java source line1
//java source line2
./folder1/folder3/myfile1.java
//java source line1
//java source line2
//java source line3
Я хочу разделить этот файл на как (если я выдавать команду кота она должна иметь источник, за то, что в выше один файл):
cat ./folder1/folder2/myfile.java
//java source line1
//java source line2
cat ./folder1/folder3/myfile1.java
//java source line1
//java source line2
//java source line3
Я могу извлечь содержимое и имя файла с помощью:
awk '/java/{flag=1;fileName=$0;next}/java$/{flag=0}flag' source.txt
Но не в состоянии REDIR ect код между файлом с различными несуществующими папками.
один комментарий в быстром сканировании: используйте 'чтения -r line' иначе, обратный слеш сбежал символы будут интерпретироваться с помощью bash. (такой '\ n'). – jm666
На самом деле, всегда используйте 'while IFS = read -r line', если у вас нет конкретной причины.Вы также должны всегда указывать свои переменные, чтобы отключить глобализацию и разбиение слов, или вы получите причудливые сбои на основе содержимого входного файла и имен файлов в вашем рабочем каталоге, а ваши команды sed будут терпеть неудачу с учетом различного содержимого вашего входного файла. Не делай этого! –
@EdMorton true! для предотвращения удаления пробелов в пути;) – jm666