В одном из ответов на этот вопрос утверждается, что вы можете удалить файл из каталога, только если у него есть только разрешение на запись
, это совершенно неверно! просто попробуйте! Дайте каталогу просто разрешение на запись
и попробуйте удалить, вы не можете!
Чтобы удалить файл внутри каталога, вам потребуются права запись
и выполнение
в каталоге
Теперь вернемся к вопросу: чтобы удалить файл с помощью rm
вы просто удаляете информацию о его индексе из каталога, т.е. вы не уничтожаете
его с диска. Если информация inode файла отсутствует в каталоге, к которому вы не можете получить доступ (также потому, что вы не можете его увидеть, поскольку он не указан в его родительском каталоге), то есть он удален для вас.
Таким образом, чтобы удалить файл из каталога, все, что вам нужно, - это разрешение в каталоге; разрешения для этого файла не имеют значения
Puedes probar este awk
awk 'NR%2==1{gsub(",","~")}1' RS='"' ORS='"' infile
En caso de que no desee instalar un paquete especial, probablemente pueda usar el analizador csv de un Ruby preinstalado:
ruby -e 'require "csv"; CSV.filter(output_col_sep: "~") {}'
Ejemplos:
1,"2,3"
da como resultado
1~2,3
y
1,"
2,3
",4
da como resultado
1~"
2,3
"~4
awk '{sub(/,/,"~")gsub(/,/,"~",$3)}1' file
output
123~"ABC, DEV 23"~345~534.202~NAME
La primera coma se reemplaza por sub y el resto por gsub en el tercer campo.