Я импортирую файл CSV и сохраняю детали этого файла в базе данных с помощью сценария оболочки (. sh файл)
В файле CSV один столбец содержит несколько URL-адресов изображений, и это разделены знаком «|». Но детали имеют пробелы и разрывы строк. Мне нужно удалить то же самое и загрузить данные в базу данных без разрыва строки.
Значения в столбце, как показано ниже,
http:///url/385924/pictures/THIRDPARTY|http://url/385924/pict
ures/THIRDPARTY|http://url/385924/pictures/b2af65b2-4d12-45dd-87a8-
0ebc0c32c8e8-THIRDPARTY|http://url/THIRDPARTY|http://url.windo
ws.net/pictures/85eb568b-7908-49b2-9d91-4f762077323b-
THIRDPARTY|http://url/vehicles/385924/THIRDPARTY
Мне нужно это без пробелов и новой строки как
http:///url/385924/pictures/THIRDPARTY|http://url/385924/pictures/THIRDPARTY|http://url/385924/pictures/2af65b2-4d12-45dd-87a8-0ebc0c32c8e8-THIRDPARTY|http://url/THIRDPARTY|http://url.windows.net/pictures/85eb568b-7908-49b2-9d91-4f762077323b-THIRDPARTY|http://url/vehicles/385924/THIRDPARTY
Мой код указан ниже,
FILE1="/filepath/file.csv
File2 = "/filepath/newfile.csv"
sed ':a;N;$!ba;s/\n//g' $FILE1 > '/filepath to new file/newfile.csv'
FILE2="/filepath to new file/newfile.csv'"
mysql -u username -ppassword database name -Bse "LOAD DATA LOCAL INFILE '"$FILE2"' INTO TABLE tablename FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (@ignore ,id,imagename,@ignore ,@ignore ,@ignore ,@ignore ,@ignore ,@ignore ,@ignore);"
При использовании только sed ':a;N;$!ba;s/\n//g' $FILE1
, в терминале я получаю данные в CSV-файле без пробелов и новых линия. Если я заменил ':a;N;$!ba;s/\n//g'
на ':a;N;$!ba;s/\n/---/g'
, это также отражается в терминале. Результаты не сохраняются в текущем файле CSV или при сохранении в новом файле CSV.
Как выполнить действия sed, а затем сохранить его в том же файле CSV или в новом файле CSV и использовать это в LOAD DATA LOCAL INFILE
.
Любая помощь очень ценится.