Вы имеете в виду как это, просто предварительно ожидая текущий каталог к каждому имени файла?
ls -l | awk -v PWD=$PWD '{printf("%s %s/%s\n", $5, PWD, $9); }'
( -v
просто импорт $PWD
окружите переменную в awk сценарий).
Или что-то еще?
Хорошо, по-видимому, то, что Вы хотите,
$ cd /some/path/to/somewhere
$ <insert command here>
somewhere/file1 size1
somewhere/file2 size2
...
Это корректно?
Если так, изменение, в котором Вы нуждаетесь, является этим:
ls -l | awk -v PWD=$(basename $PWD) '{printf("%s/%s %s\n", PWD, $9, $5); }'
Если у Вас есть более старая оболочка, $()
может не работать, в этом случае попробовать:
ls -l | awk -v PWD=`basename $PWD` '{printf("%s/%s %s\n", PWD, $9, $5); }'
вместо этого. У меня нет немедленного доступа ни к какой оболочке, которая не поддерживает $()
, но я еще не могу думать где Ваш Illegal variable name
ошибка прибыла бы из, когда это работает на меня.
Если это все еще не работает, опишите свою платформу, оболочку, версию awk и т.д. в Вашем вопросе - поток комментария становится довольно долгим, и у меня заканчиваются предположения :-)
Использование sed :
sed 's/^M//g' filename > newfilename
-121--161187- 1) Сравнение часов и минут отдельно:
awk -vt="10:15" -F"[: ]" '
BEGIN{split(t,a,":")}
$2<=a[1]&&$3<=a[2]&&$4>=a[1]&&$5>=a[2]
' <<_INPUT_
a 10:10 10:30
b 12:15 13:15
c 16:54 17:54
_INPUT_
a 10:10 10:30
2) Преобразование часов в минуты:
awk -vt="13:00" -F"[: ]" '
BEGIN{split(t,a,":");t=60*a[1]+a[2]}
60*$2+$3<=t&&60*$4+$5>=t
' <<_INPUT_
a 10:10 10:30
b 12:15 13:15
c 16:54 17:54
_INPUT_
b 12:15 13:15
3) Использование функции:
awk -vt="17:15" '
function f(s){split(s,a,":");return(60*a[1]+a[2])}
f($2)<=f(t)&&f($3)>=f(t)
' <<_INPUT_
a 10:10 10:30
b 12:15 13:15
c 16:54 17:54
_INPUT_
c 16:54 17:54
-121--197937- Это была бы функция «ленивой инициализации» Ext4, которая обнуляет
Это позволяет быстрее создавать файловую систему, но запускает поток ядра с именем «ext4lazyinit» в фоновом режиме. Вы можете подтвердить, что это происходит, запустив « ps aux | grep ext4lazyinit
».
Процесс может занять несколько часов в зависимости от размера файловой системы.
можно попытаться использовать iostat
и iotop
наблюдать процессы выполняет io. Также можно включить вход io echo 1 > /proc/sys/vm/block_dump
исследовать, что происходит более ясно
mount | egrep "sdb1|sda1"
. Кажется, что необходимо изменить фиксацию для monted раздела.
– dchirikov
09.01.2013, 18:52