#1 Le 29/01/2024, à 15:06
- Astrolivier
[Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
salut,
je n'arrive pas à trouver comment mettre cette longue ligne de commande sur plusieurs lignes dans l'éditeur, s'il vous plaît.
il paraît que faut pas plus de 80 caractères par ligne.
la ligne
lsmod | grep -E 'adm8211|airo|ar5523|at76c50x-usb|ath5k|ath6kl|ath9k|ath9k_htc|ath10k|ath11k|ath12k|atmel|b43|b43legacy|brcmfmac|brcmsmac|carl9170|cw1200|hostap|ipw2100|ipw2200|iwlegacy|iwlwifi|libertas|libertas_tf|mac80211_hwsim|mt76|mt7601u|mwifiex|mwl8k|orinoco|p54pci|p54spi|p54usb|prism2_usb|qtnfmac|r8192e_pci|r8192u_usb|r8712u|ray_cs|rndis_wlan|rt61pci|rt73usb|rt2400pci|rt2500pci|rt2500usb|rt2800pci|rt2800usb|rtl8.*|rtl8180|rtl8187|rtl8188ee|rtl8192ce|rtl8192cu|rtl8192de|rtl8192se|rtl8723ae|rtl8723bs|r8723au|vt6655|vt6656|wcn36xx|wfx|wil6210|winbond|wilc|wl1251|wl12xx|wl18xx|wl3501_cs|wlags49_h2|zd1201|zd1211rw'
l'erreur quand je mets à la ligne avec des backslash
$ ./test.sh
####### lsmod | grep -E '<modules>' #######
Module Size Used by
grep: Barre oblique inverse en suffixe
grep: Barre oblique inverse en suffixe
grep: Barre oblique inverse en suffixe
grep: Barre oblique inverse en suffixe
le script avec les backslashs
echo -e "\n\n####### lsmod | grep -E '<modules>' #######\n"
echo "Module Size Used by"
lsmod | grep -E 'adm8211|airo|ar5523|at76c50x-usb|ath5k|ath6kl|ath9k|ath9k_htc|ath10k|ath11k|ath12k|atmel|b43|b43legacy| \
brcmfmac|brcmsmac|carl9170|cw1200|hostap|ipw2100|ipw2200|iwlegacy|iwlwifi|libertas|libertas_tf|mac80211_hwsim|mt76| \
mt7601u|mwifiex|mwl8k|orinoco|p54pci|p54spi|p54usb|prism2_usb|qtnfmac|r8192e_pci|r8192u_usb|r8712u|ray_cs|rndis_wlan| \
rt61pci|rt73usb|rt2400pci|rt2500pci|rt2500usb|rt2800pci|rt2800usb|rtl8.*|rtl8180|rtl8187|rtl8188ee|rtl8192ce|rtl8192cu| \
rtl8192de|rtl8192se|rtl8723ae|rtl8723bs|r8723au|vt6655|vt6656|wcn36xx|wfx|wil6210|winbond|wilc|wl1251|wl12xx| \
wl18xx|wl3501_cs|wlags49_h2|zd1201|zd1211rw'
tant que j'y suis, j'ai glissé un " |rtl8.*| "
je n'ai pas d'erreur, mais c'est ok ou pas ? (le but est d'avoir tous les modules qui commencent par "rtl8" )
Dernière modification par Astrolivier (Le 29/01/2024, à 18:19)
S'il faut absolument faire des sacrifices pour assurer le progrès de l'humanité, ne serait-il pas indispensable de s'en tenir au principe selon lequel c'est à ceux dont on exige le sacrifice que la décision doit revenir en dernier ressort ? (howard zinn)
Hors ligne
#2 Le 29/01/2024, à 15:12
- sputnick
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
Salut.
C'est pas parce que les best practices recommandent de laisser 80 caractères qu'il faut forcement respecter cela dans ce genre de cas.
Personne ne va te blâmer pour le dépassement, il n'y a pas encore de FDO pour contrôler la taille des lignes ^^
Surtout si c'est un projet perso.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#3 Le 29/01/2024, à 15:14
- sputnick
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
Quoiqu'il en soit, si tu y tiens vraiment:
echo -e "\n\n####### lsmod | grep -E '<modules>' #######\n"
echo "Module Size Used by"
regex='adm8211|airo|ar5523|at76c50x-usb|ath5k|ath6kl|ath9k|ath9k_htc|ath10k|ath11k|ath12k|atmel|b43|b43legacy|'
regex+='brcmfmac|brcmsmac|carl9170|cw1200|hostap|ipw2100|ipw2200|iwlegacy|iwlwifi|libertas|libertas_tf|mac80211_hwsim|mt76|'
regex+='mt7601u|mwifiex|mwl8k|orinoco|p54pci|p54spi|p54usb|prism2_usb|qtnfmac|r8192e_pci|r8192u_usb|r8712u|ray_cs|rndis_wlan|'
regex+='rt61pci|rt73usb|rt2400pci|rt2500pci|rt2500usb|rt2800pci|rt2800usb|rtl8.*|rtl8180|rtl8187|rtl8188ee|rtl8192ce|rtl8192cu|'
regex+='rtl8192de|rtl8192se|rtl8723ae|rtl8723bs|r8723au|vt6655|vt6656|wcn36xx|wfx|wil6210|winbond|wilc|wl1251|wl12xx|'
regex+='wl18xx|wl3501_cs|wlags49_h2|zd1201|zd1211rw'
lsmod | grep -E "$regex"
Dernière modification par sputnick (Le 29/01/2024, à 15:14)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#4 Le 29/01/2024, à 15:43
- Astrolivier
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
merci beaucoup,
il y a un côté "comment on fait" qui me turlupinait, et pour la présentation ça a un côté sympa
S'il faut absolument faire des sacrifices pour assurer le progrès de l'humanité, ne serait-il pas indispensable de s'en tenir au principe selon lequel c'est à ceux dont on exige le sacrifice que la décision doit revenir en dernier ressort ? (howard zinn)
Hors ligne
#5 Le 29/01/2024, à 18:23
- Watael
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
$ declare -a mollusques
$ mollusques=(
ga
bu
zo
meuh
)
$ plateau2fruits2mer=$(IFS='|'; echo "${mollusques[*]}")
$ echo "$plateau2fruits2mer"
ga|bu|zo|meuh
$
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 29/01/2024, à 18:37
- Astrolivier
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
haha, j'ai mis un moment pour comprendre.
par contre là j'ai > 50 lignes pour déclarer ma variable.
merci
S'il faut absolument faire des sacrifices pour assurer le progrès de l'humanité, ne serait-il pas indispensable de s'en tenir au principe selon lequel c'est à ceux dont on exige le sacrifice que la décision doit revenir en dernier ressort ? (howard zinn)
Hors ligne
#7 Le 29/01/2024, à 18:40
- Watael
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
mollusques=( ga bu ...
zo meuh ...
... )
il n'y a pas moyen d'obtenir cette liste de modules à partir d'une commande, ou au moins le plus gros de la liste ?
Dernière modification par Watael (Le 29/01/2024, à 18:41)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 29/01/2024, à 20:05
- Astrolivier
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
pas que je sache, ça vient de là
https://wireless.wiki.kernel.org/en/users/drivers
S'il faut absolument faire des sacrifices pour assurer le progrès de l'humanité, ne serait-il pas indispensable de s'en tenir au principe selon lequel c'est à ceux dont on exige le sacrifice que la décision doit revenir en dernier ressort ? (howard zinn)
Hors ligne
#9 Le 29/01/2024, à 20:36
- Watael
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
c'est peut-être la méthode qui n'est pas bonne...
quel est le but de la manœuvre ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#10 Le 29/01/2024, à 21:17
- Astrolivier
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
dans le wificheck de base il y a un lsmod | sort, mais c'est pas évident de trouver (pour moi en tout cas) quels sont les modules en rapport avec le wifi. donc j'ai fait une sélection de tous les modules wif, comme ça j'ai les modules wifi
en fait sur le lsmod sort de mon ordi, je ne trouvais quels étaient les modules wifi, là j'ai
####### lsmod | grep -E '<modules>' #######
Module Size Used by
ath10k_pci 49152 0
ath10k_core 602112 1 ath10k_pci
ath 36864 1 ath10k_core
mac80211 1249280 1 ath10k_core
cfg80211 974848 3 ath,mac80211,ath10k_core
j'en ai aussi là
####### lspci -k -nn | grep -A 3 -i net ######
02:00.0 Network controller [0280]: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter [168c:0042] (rev 31)
Subsystem: Dell QCA9377 802.11ac Wireless Network Adapter [1028:1810]
Kernel driver in use: ath10k_pci
Kernel modules: ath10k_pci
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL810xE PCI Express Fast Ethernet controller [10ec:8136] (rev 07)
Subsystem: Dell RTL810xE PCI Express Fast Ethernet controller [1028:0a10]
Kernel driver in use: r8169
Kernel modules: r8169
mais le lsmod grep -E me donne plus de modules ça m'aide à comprendre/chercher
à comparer avec
$ lsmod |sort
ac97_bus 16384 1 snd_soc_core
acpi_thermal_rel 16384 1 int3400_thermal
aesni_intel 376832 5
af_alg 32768 6 algif_hash,algif_skcipher
ahci 45056 0
algif_hash 16384 1
algif_skcipher 16384 1
ath10k_core 602112 1 ath10k_pci
ath10k_pci 49152 0
ath 36864 1 ath10k_core
autofs4 49152 2
binfmt_misc 24576 1
blake2b_generic 20480 0
bluetooth 704512 43 btrtl,btintel,btbcm,bnep,btusb,rfcomm
bnep 28672 2
btbcm 24576 1 btusb
btintel 40960 1 btusb
btrfs 1560576 0
btrtl 24576 1 btusb
btusb 61440 0
ccm 20480 3
cec 61440 2 drm_kms_helper,i915
cfg80211 974848 3 ath,mac80211,ath10k_core
cmac 16384 2
coretemp 24576 0
cpuid 16384 0
crc32_pclmul 16384 0
crct10dif_pclmul 16384 1
cryptd 24576 3 crypto_simd,ghash_clmulni_intel
crypto_simd 16384 1 aesni_intel
dcdbas 20480 1 dell_smbios
dell_laptop 32768 0
dell_smbios 28672 2 dell_wmi,dell_laptop
dell_smm_hwmon 24576 0
dell_wmi 24576 1 dell_laptop
dell_wmi_descriptor 20480 2 dell_wmi,dell_smbios
drm 622592 21 drm_kms_helper,i915,ttm
drm_kms_helper 311296 1 i915
ecc 36864 1 ecdh_generic
ecdh_generic 16384 1 bluetooth
ee1004 20480 0
efi_pstore 16384 0
fb_sys_fops 16384 1 drm_kms_helper
ghash_clmulni_intel 16384 0
hfs 65536 0
hfsplus 118784 0
hid 151552 3 i2c_hid,hid_multitouch,hid_generic
hid_generic 16384 0
hid_multitouch 32768 0
i2c_algo_bit 16384 1 i915
i2c_hid 36864 1 i2c_hid_acpi
i2c_hid_acpi 16384 0
i2c_i801 36864 0
i2c_smbus 20480 1 i2c_i801
i915 3117056 46
idma64 20480 0
input_leds 16384 0
int3400_thermal 20480 0
int3403_thermal 20480 0
int340x_thermal_zone 20480 2 int3403_thermal,processor_thermal_device
intel_cstate 20480 0
intel_hid 24576 0
intel_lpss 16384 1 intel_lpss_pci
intel_lpss_pci 24576 0
intel_pmc_bxt 16384 0
intel_powerclamp 24576 0
intel_punit_ipc 16384 1 intel_telemetry_pltdrv
intel_rapl_common 40960 2 intel_rapl_msr,processor_thermal_rapl
intel_rapl_msr 20480 0
intel_soc_dts_iosf 20480 1 processor_thermal_device_pci_legacy
intel_telemetry_core 20480 1 intel_telemetry_pltdrv
intel_telemetry_pltdrv 20480 0
ip6_udp_tunnel 16384 1 sctp
ip_tables 32768 0
jfs 233472 0
joydev 32768 0
kvm 1032192 1 kvm_intel
kvm_intel 368640 0
ledtrig_audio 16384 5 snd_ctl_led,snd_hda_codec_generic,dell_wmi,snd_sof,dell_laptop
libahci 45056 1 ahci
libarc4 16384 1 mac80211
libcrc32c 16384 4 btrfs,nf_tables,xfs,sctp
lp 28672 0
mac80211 1249280 1 ath10k_core
mac_hid 16384 0
mc 65536 4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
mei 135168 3 mei_hdcp,mei_me
mei_hdcp 24576 0
mei_me 40960 1
minix 49152 0
Module Size Used by
msdos 20480 0
msr 16384 0
nfnetlink 20480 1 nf_tables
nf_tables 262144 0
nls_iso8859_1 16384 1
ntfs 122880 0
ntfs3 274432 0
nvme 49152 6
nvme_core 135168 10 nvme,nvme_fabrics
nvme_fabrics 24576 0
parport 69632 3 parport_pc,lp,ppdev
parport_pc 49152 0
pinctrl_geminilake 24576 0
ppdev 24576 0
processor_thermal_device 20480 1 processor_thermal_device_pci_legacy
processor_thermal_device_pci_legacy 16384 0
processor_thermal_mbox 16384 2 processor_thermal_rfim,processor_thermal_device
processor_thermal_rapl 20480 1 processor_thermal_device
processor_thermal_rfim 24576 1 processor_thermal_device
psmouse 176128 0
qnx4 16384 0
r8169 102400 0
raid6_pq 122880 1 btrfs
rapl 20480 0
rc_core 65536 1 cec
realtek 32768 1
rfcomm 81920 16
sch_fq_codel 20480 2
sctp 393216 56
serio_raw 20480 0
snd 106496 20 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
snd_compress 24576 1 snd_soc_core
snd_ctl_led 24576 0
snd_hda_codec 163840 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
snd_hda_codec_generic 102400 1 snd_hda_codec_realtek
snd_hda_codec_hdmi 77824 1
snd_hda_codec_realtek 159744 1
snd_hda_core 110592 10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_hda_ext_core 32768 4 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_hda_intel 53248 3
snd_hwdep 16384 1 snd_hda_codec
snd_intel_dspcfg 28672 3 snd_hda_intel,snd_sof_intel_hda_common,snd_soc_skl
snd_intel_sdw_acpi 20480 2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_pcm 143360 11 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_rawmidi 49152 1 snd_seq_midi
snd_seq 77824 2 snd_seq_midi,snd_seq_midi_event
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
snd_seq_midi 20480 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_soc_acpi 16384 3 snd_soc_acpi_intel_match,snd_sof_intel_hda_common,snd_soc_skl
snd_soc_acpi_intel_match 61440 3 snd_sof_intel_hda_common,snd_soc_skl,snd_sof_pci_intel_apl
snd_soc_core 348160 5 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
snd_soc_hdac_hda 24576 2 snd_sof_intel_hda_common,snd_soc_skl
snd_soc_skl 172032 0
snd_soc_sst_dsp 36864 1 snd_soc_skl
snd_soc_sst_ipc 20480 1 snd_soc_skl
snd_sof 147456 2 snd_sof_pci,snd_sof_intel_hda_common
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_intel_hda_common 102400 1 snd_sof_pci_intel_apl
snd_sof_pci 20480 2 snd_sof_intel_hda_common,snd_sof_pci_intel_apl
snd_sof_pci_intel_apl 16384 0
snd_sof_xtensa_dsp 16384 1 snd_sof_intel_hda_common
snd_timer 40960 2 snd_seq,snd_pcm
soundcore 16384 2 snd_ctl_led,snd
soundwire_bus 94208 3 soundwire_intel,soundwire_generic_allocation,soundwire_cadence
soundwire_cadence 36864 1 soundwire_intel
soundwire_generic_allocation 16384 1 soundwire_intel
soundwire_intel 45056 1 snd_sof_intel_hda_common
sparse_keymap 16384 2 intel_hid,dell_wmi
syscopyarea 16384 1 drm_kms_helper
sysfillrect 20480 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
tls 114688 0
ttm 86016 1 i915
udp_tunnel 20480 1 sctp
ufs 106496 0
uvcvideo 106496 0
video 65536 3 dell_wmi,dell_laptop,i915
videobuf2_common 77824 4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
videobuf2_memops 20480 1 videobuf2_vmalloc
videobuf2_v4l2 32768 1 uvcvideo
videobuf2_vmalloc 20480 1 uvcvideo
videodev 258048 3 videobuf2_v4l2,uvcvideo,videobuf2_common
wmi 32768 4 dell_wmi,wmi_bmof,dell_smbios,dell_wmi_descriptor
wmi_bmof 16384 0
x86_pkg_temp_thermal 20480 0
xfs 1769472 0
xhci_pci 24576 0
xhci_pci_renesas 20480 1 xhci_pci
xor 24576 1 btrfs
x_tables 53248 1 ip_tables
zstd_compress 229376 1 btrfs
où quand on ne sait pas ce qu'on cherche, c'est pas évident
S'il faut absolument faire des sacrifices pour assurer le progrès de l'humanité, ne serait-il pas indispensable de s'en tenir au principe selon lequel c'est à ceux dont on exige le sacrifice que la décision doit revenir en dernier ressort ? (howard zinn)
Hors ligne
#11 Le 29/01/2024, à 21:36
- Watael
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
soit, mais ça doit servir à quoi ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#12 Le 29/01/2024, à 21:59
- Astrolivier
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
aux aidant du forum à trouver d'où vient le fait qu'un forumeur n'ai pas de wifi ou trop lent ou toute autre question.
souvent il y a des soucis de modules, soit on change le module (quite a en recompiler un) soit on change une variable dans le fichier conf.
edit : ça sert à faire des recherches sur un moteur de recherche
Dernière modification par Astrolivier (Le 29/01/2024, à 22:04)
S'il faut absolument faire des sacrifices pour assurer le progrès de l'humanité, ne serait-il pas indispensable de s'en tenir au principe selon lequel c'est à ceux dont on exige le sacrifice que la décision doit revenir en dernier ressort ? (howard zinn)
Hors ligne
#13 Le 29/01/2024, à 22:32
- Watael
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
je ne parle pas du script, je parle de la commande. quelle est sa finalité ?
et les unsupported modules, s'ils ne sont pas supportés par le noyau, tu penses les trouver dans la liste des modules du noyau ?
Dernière modification par Watael (Le 29/01/2024, à 22:35)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#14 Le 29/01/2024, à 23:03
- Astrolivier
Re : [Résolu]Mettre ligne de commande sur plusieurs lignes (grep -E)
finalité de la commande : lister uniquement les modules wifi.
les unsupported, je les ai mis pour être sûr qu'il n'y en a pas d'installés. si on en voit un : gros red flag.
un peu comme /etc/network/interfaces : si présent : gros red flag
dans les deux cas ça voudrait dire trifouillage bizarre.
pour les unsupported, je ne pense jamais en voir, mais bon, sait-on jamais. et ce n'est qu'une ligne. unsupported ne veut pas dire qu'on ne peut pas les installer, mais que c'est pas une bonne idée pour différentes raisons, j'y ai inclus les obsolètes.
S'il faut absolument faire des sacrifices pour assurer le progrès de l'humanité, ne serait-il pas indispensable de s'en tenir au principe selon lequel c'est à ceux dont on exige le sacrifice que la décision doit revenir en dernier ressort ? (howard zinn)
Hors ligne