У меня есть несколько сотен файлов в каталоге.Я называю это /tmp/testfiles/
Файлы в каталоге /tmp/testfiles/
содержат несколько строк текста.например, как правило, кошка filename.txt
приведет к
Шаг 1) Найдите это там
Шаг 2) Если вы не можете найти его там, попробуйте и посмотрите где-то там
бла бла бла
еще немного бла бла бла
Имена файлов - это идентификаторы этих файлов.например, если имя файла равно 1000.txt, то 1000 является идентификатором ссылки.
Так что я надеюсь вывести содержимое этих файлов в столбец уже существующей таблицы, где имя файла - это номер идентификатора.
Пока что здесь у меня есть
1) используйте sed для вставки / n на каждом конце строки, а затем используйте tr для удаления строк
for file in `find *txt | cut -d "." -f1`
do
sed -e 's/$/\\n/' ${file}.txt > ${file}.tmp; cat ${file}.tmp | tr '\n' ' ' > ${file}.txt; \rm ${file}.tmp;sleep 2
done
2) используйте sed для добавления $ filename;в начале каждой строки файлов
for file in `find *txt | cut -d "." -f1`
do
sed -e 's/^/'${file}';"/' -e 's/$/"/' ${file}.txt > ${file}.tmp; \mv ${file}.tmp ${file}.txt;sleep 2
done
Если вы читаете это далеко, в двух словах ... Я пытаюсь вывести все файлы в каталоге в CSV.Который затем я могу сделать загрузку INFILE для моей таблицы MySQL.
, поэтому у меня есть что-то вроде этого
filename1; "Step 1) Go find this there /n /n Step 2) If you cant find it there, try and take a look somewhere over there /n /n bla bla bla"
filename2; "Step 1) a second line for example purposes /n /n Step 2) i reckon a third line is not needed /n /n bla bla bla"
Так вот мой вопрос (ы)
- Как я могу использовать LOAD INFILE, чтобы обновить столбец существующего только когда id = имя файла?
- Есть ли другие способы передачи данных в MySQL?