for i in *.mp3; do mv "$i" "$(echo $i | sed 's/^Dropkick Murphys - //')"; done
или, более общий, для удаления сначала 3 разграниченных пространством слов из имени файла
echo $i | cut -d' ' -f4-
Используя strace
, Вы видите iwconfig
выполнение чего-то вроде этого:
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
ioctl(3, SIOCGIWNAME, 0xbfb02c7c) = 0
ioctl(3, SIOCGIWNWID, 0xbfb02c7c) = -1 EOPNOTSUPP (Operation not supported)
ioctl(3, SIOCGIWFREQ, 0xbfb02c7c) = -1 EINVAL (Invalid argument)
ioctl(3, SIOCGIWENCODE, 0xbfb02c7c) = 0
И приблизительно дюжина другой ioctl
s следуют. Упорно ищите их ioctl
s в ядре и Вы найдете, где данные.
Условие для препроцессора говорит ЕСЛИ НЕ ОПРЕДЕЛЕННЫЙ CONFIG_WIRELESS_EXT
Который означает, что Ваш код ТОЛЬКО включен, когда нет беспроводной поддержки карты... не это назад?
#ifndef CONFIG_WIRELESS_EXT
Не был должен это быть:
#ifdef CONFIG_WIRELESS_EXT
#ifdef CONFIG_WIRELESS_EXT
тем не менее wireless_handlers
является все еще пустым снова, мой вопрос состоит в том, Где ifconfig получает беспроводную статистику it от?
– Varda Elentári
19.06.2012, 13:41
ioctl
от модуля ядра? есть ли другой способ получить значения такой какSIOCGIWNAME
кроме использования ioctl? – Varda Elentári 20.06.2012, 10:13ioctl
s пересекают границу пользователя/ядра. Если нет никакого пространства ядра API для получения информации, Вам, вероятно, придется стать творческими (запишите демону пространства пользователя, например). Возьмите это с щепоткой соли. Я никогда не должен был делать чего-то вроде этого с ядром. Большая часть моего кодирования ядра была простыми драйверами, незначительные патчи и т.д. – Alexios 20.06.2012, 11:04/proc/net/dev
или/proc/net/wireless
? – Varda Elentári 20.06.2012, 13:57grep
дляproc
внутриnet/wireless
предлагаетnet/wireless/wext.c
(это то, где/proc/net/wireless
'создается'). Необходимо, вероятно, прочитать код вnet/wireless
, это, кажется, делает то, в чем Вы нуждаетесь. – Alexios 20.06.2012, 14:51/proc
создаются кодом C каждый раз, когда они читаются, таким образом, они не существуют как таковые. Я не ищу, 'кто/какой' пишет файл, я ищу знаки различногоproc_*
функции (например.grep proc *.c
). В этом случае, сwext-proc.c
довольно легко предположить, где файлы сгенерированы. ;) – Alexios 20.06.2012, 18:54