![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Удаление строк в текстовом файле | hern14 | UNIX для чайников Вопросы И Ответы | 5 | 05-16-2008 03:03 PM |
| Потянув несколько строк текста | DumDum | Shell программирование и сценарии | 2 | 03-10-2008 12:15 PM |
| Удаление строк. CSV файлов | 009satya | Shell программирование и сценарии | 1 | 11-13-2006 03:30 PM |
| удаления нескольких файлов через FTP | mgirinath | Shell программирование и сценарии | 4 | 04-18-2006 02:44 PM |
| Удаление нескольких строк с SED | rambo15 | Shell программирование и сценарии | 1 | 02-16-2002 06:19 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
удаление строк из нескольких текстовых файлах
У меня есть каталог полный текст файлов данных.
К сожалению, мне нужно, чтобы избавиться от 7-го и 8-й линии у них все так, что я могу ввода их в ГИС. Я использовал AWK скрипта делать по одному, но из-за большого числа файлов, мне нужны какие-то петли механизма автоматизировать ее. В AWK сценарий: -- AWK 'BEGIN (getline F; getline т) ПЧН \u003d\u003d F, ПЧН \u003d\u003d T () следующая 1' numbers.txt inputfile> outputfile где numbers.txt это просто документ с номерами 7 и 8 Моя догадаться, что я нужен способ трубопровода на выходе из Ls (по каталогу), в котором находится inputfile и борьбе с петель путем до конца. Любые предложения будут приветствовать (в AWK предложение будет предпочтительнее Pearl) Спасибо всем |
|
||||
|
SED или AWK хорошие выбор - здесь SED:
Код:
for file in `ls *.txtdatafile`
do
sed '7,8d' $file > tmp.tmp
mv tmp.tmp $file
done
|
|
||||
|
Цитата:
К сожалению, это посылает их всех в один большой tmp.file. Мне нужно, чтобы создать новый текстовый файл для каждого текстового файла, который находится в каталоге. |
|
||||
|
Gack, пожалуйста, не размещайте один и тот же вопрос несколько раз. Я уже ответил один раз.
удаление конкретных строк из всех файлов в директории Во второй строке в Джиму в скрипт (и моя, тоже) перемещает файл TMP назад по сравнению с исходным файлом. Вы не можете просто перенаправить обратно на один файл, потому что, прежде чем произойдет перенаправление AWK получает его прочитать, так что файл попадает в пустой. Существуют различные способы, чтобы избежать использования временных файлов, но в данном конкретном случае это, наверное, не стоит этого делать. Определенный артикль Ls В backticks является antipattern; см. В качестве примера работы с именами файлов с пробелами в них для обсуждения недостатков. Просто использования "для работы с файлами в формате *. txtdatafile" вместо. |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|