Не может измениться на названный корейцами каталог на моем debian сервере

Можно использовать grep's -v (инвертируйте соответствие), режим, чтобы сделать это:

grep -v '^$' old-file.csv > new-file.csv

Обратите внимание, что это должны быть различные файлы, из-за того, как оболочка перенаправляет работу. Выходной файл открыт (и освобожден), прежде чем входной файл будет считан. Если у Вас есть moreutils (не по умолчанию на Mac OS X), можно использовать sponge работать вокруг этого:

grep -v '^$' file.csv | sponge file.csv

Но конечно, затем Вам приходится тяжелее, возвращаясь, если что-то идет не так, как надо.

Если Вы, "пустые строки" на самом деле могут содержать пробелы (это кажется, что они делают), то можно использовать это вместо этого:

egrep -v '^[[:space:]]*$' old-file.csv > new-file.csv

Это проигнорирует пустые строки, а также строки, содержащие только пробел. Можно, конечно, сделать то же sponge преобразование на нем.

3
02.11.2013, 00:17
1 ответ

Я предложил бы войти ls -il | egrep "^[0-9]+ d" получить индекс xxxxxxxx (первое поле вывода) плохо именованного каталога, сопровождаемого чем-то как find . -maxdepth 1 -inum xxxxxxxx -exec /bin/mv {} NewDirectoryName \; изменить имя каталога на что-то, что не вызовет проблемы в будущем.

0
27.01.2020, 21:44
  • 1
    Общее решение, но все еще обходное решение. На основе Вашего комментария я сделал это: cd $(find . -maxdepth 1 -inum xxxxxxxx) Но было бы хорошо устранить входную проблему вместо того, чтобы найти обходные решения. –   02.11.2013, 13:28

Теги

Похожие вопросы