.csv
легко сделан, и формула (A7==K7) ? "" : "diff"
или подобный вставленный и вставляемый копией.Любой делает внутреннюю пару двойных кавычек кавычек:
alias hidden='ls -a | grep "^\."'
Или сделайте внешнюю пару двойных кавычек кавычек:
alias hidden="ls -a | grep '^\.'"
Или сделайте все двойные кавычки кавычек и выйдите из внутренней пары:
alias hidden="ls -a | grep \"^\.\""
Или сделайте это функцией, таким образом, можно передать некоторые аргументы при вызове:
hidden() { ls -a "$@" | grep '^\.'; }
Имейте оболочку, перечисляют точечные файлы и говорят ls
не видеть через каталоги:
ls -d .*
grep
- основанный подход.
– anol
12.10.2014, 16:17
ls -d .* | grep -v '^d'
или (zsh только) print -lr .*(.)
– Gilles 'SO- stop being evil'
11.09.2016, 00:39
Можно использовать двойные кавычки:
alias hidden="ls -a | grep '^\.'"
или свяжите больше единственных заключенных в кавычки строк
alias hidden='ls -a | grep '\''^\.'\'
или удалите во всех внутренних кавычках
alias hidden='ls -a | grep ^\\.'
Для записи это, кажется, не работает со мной с тех пор ls -a
печать два (иногда больше столбцов). Я рекомендовал бы использовать -1
опция удостовериться каждый файл находится в его собственной строке. Что-то вроде этого:
alias hidden='ls -a1 | grep "^\."'
ls -a | cat
это все еще выводы на 2 столбцах. Я должен упомянуть, что использую Солярис а не GNU ls. Возможно, вот почему. Во всех случаях Ваш -1
решение работало отлично и намного более изящно, чем мое hackish обходное решение. Я обновляю свой ответ.
– rahmu
28.09.2011, 21:53
Делает Ваш ls
поддержка-A? От man ls
:
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
$ ls --version
ls (GNU coreutils) 8.5
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Richard M. Stallman and David MacKenzie.
ls -Ad .* #This will list all the hidden files & directories while retaining the color & formatting
ИЛИ
Создать псевдоним того же:
alias lh='ls -Ad .*'
ИЛИ
То же самое могло быть сделано через команду grep и оператор канала; однако это освободило бы цвет и форматирование:
ls -a|grep "^\."
ИЛИ
Через псевдоним:
alias lh='ls -a|grep "^\."'
Просто введите команду ниже и не путайте с объясненными выше вещами.
ls -A -1 -d -F .* | egrep -v '/$'
find . -type f -name ".*"
ИЛИ
find . -type f -name ".*" | while read file; do basename $file; done
Это немного усложняет, но избегая анализа ls
.
llsh () { find "${@:-.}/" -maxdepth 1 -type f -name ".*" -ls; }
lsh () { find "${@:-.}/" -maxdepth 1 -type f -name ".*" -print; }
Две функции оболочки будут использовать find
для создания списка всех скрытых обычных файлов в текущем каталоге или в каталоге, указанном в командной строке.
Функция llsh
создаст «длинный список», который будет лишь немного более подробным, чем ls -l
, в то время как lsh
создаст список из одного столбца. список типа ls -1
.
# add it to ~/.bashrc
hidden() { # lists hidden files and directories
find. -maxdepth 1 -name '.?*' -exec ls --color -d {} \;
}
hiddenfiles() { # lists hidden files
find. -maxdepth 1 -type f -name '.?*' -exec ls --color -d {} \;
}
hiddendirs() { # lists directories
find. -maxdepth 1 -type d -name '.?*' -exec ls --color -d {} \;
}
Первый ответ, который показывает псевдоним, позволяющий добавить путь к каталогу, как обычно
Попробуйте
alias lsh='ls -al --ignore="[^.]*"'
где ls игнорирует все файлы и каталоги, которые НЕ начинаются с.
Или
alias lsh='ls -Al --ignore="[^.]*"'
, чтобы избежать ввода .
и ..
Тогда просто позвоните
lsh /path/directory/