Dobrý den, přátelé. V tomto příspěvku se dozvíte, jak používat příkaz select v Linuxu. Tento tutoriál jsme testovali na Debianu 11, ale měl by fungovat na Ubuntu 20.04 a jeho derivátech.
Co je to příkaz select?
Příkaz select je nástroj vytvořený pomocí Rust, který má být robustnější a snáze použitelnou alternativou k cut a awk příkazy.
Díky tomuto příkazu budeme moci vybírat slova nebo rozsahy slov z řetězce nebo celého souboru. Díky tomu je ideální pro skripty a zejména programy třetích stran, které vyžadují práci se znakovými řetězci.
Jelikož je vytvořen s Rustem, můžeme jej bez problémů nainstalovat v Linuxu. Kromě toho je to lehký nástroj a jeho instalace je jednoduchá.
Některé funkce příkazu select jsou:
- Stručná syntaxe výběru polí podobná řezům seznamu v Pythonu
- Negativní indexování od konce řádku
- Volitelný počáteční/koncový index
- Nulový index
Tak jdeme na to.
Nainstalujte příkaz Choose
Protože se jedná o nástroj vytvořený pomocí Rustu, budeme moci nainstalovat pomocí cargo . Pokud již máte Rust nainstalovaný v systému, pak již máte cargo také.
V opačném případě jej můžete nainstalovat jako samostatný balíček z Rustu. O Debianu a Ubuntu můžete otevřít terminál a před jeho instalací aktualizovat systém.
sudo apt update
sudo apt upgrade
Nyní můžete nainstalovat cargo spuštěním
sudo apt install cargo
S cargo nainstalován, můžeme nainstalovat vybrat. Chcete-li tak učinit, stačí spustit
cargo install choose Na konci instalace budete vyzváni k přidání instalační cesty do PATH, abyste ji mohli použít v terminálu.
V mém případě jsem spustil tento příkaz
export PATH=$PATH:/home/angelo/.cargo/bin Upravte jej na svůj a nyní zkontrolujte verzi Vybrat.
choose --version Výstup:
choose 1.3.3 Tímto způsobem jej budeme moci bez problémů používat.
Použití příkazu select
Příkaz select nám umožňuje vybrat jedno nebo několik slov z textového řetězce nebo souboru podle jejich pozice. Kromě toho pracuje také s rozsahy.
Abyste to lépe vysvětlili, zvažte tento text.
Hi, welcome to unixcop. Nice to meet you. So, have a nice day Pokud v tomto textu chceme zobrazit první slovo a šesté slovo.
echo 'Hi, welcome to unixcop. Nice to meet you. So, have a nice day' | choose 0 5 Výstup:
Hi, to
Pamatujte, že volba začíná počítání na 0. Tedy 0 je první slovo v řetězci.
Chcete-li získat rozsah, použijte : . Například,
echo 'Hi, welcome to unixcop. Nice to meet you. So, have a nice day' | choose 1:6 Výstup:
welcome to unixcop. Nice to meet V tomto případě jsem tiskl od druhého slova k sedmému.
Podobně jako v Pythonu, select využívá část své syntaxe k definování posledních slov řetězce. Takže -1 odkazuje na poslední slovo, -2 na předposlední slovo a tak dále.
Například:
echo 'Hi, welcome to unixcop. Nice to meet you. So, have a nice day' | choose 2:-1 V tomto případě zobrazujeme od třetího slova do konce. Výsledek je:
to unixcop. Nice to meet you. So, have a nice day Můžete také vybrat různá slova a rozsahy
echo 'Hi, welcome to unixcop. Nice to meet you. So, have a nice day' | choose 0 10 4:-3 -1 Vybral jsem tedy první slovo, jedenácté, páté až předposlední a poslední slovo. Výsledek je:
Hi, a Nice to meet you. So, have a day
Příkaz select je také užitečný pro práci s .csv soubor. V tomto případě je použití stejné, ale pokud je odděleno , musíte přidat -f volba. Například,
cat [csv_file] | choose -f ',' 0:2
Tímto způsobem určíte, že oddělovač je , .
Pokud chcete, aby byl výstup na obrazovce čitelnější, můžete použít -o pomocí tabulátoru.
cat [csv_file] | choose -f ',' -o '0 3 Je to tak jednoduché.
Závěr
V tomto příspěvku jsme vám představili důležitý nástroj, jako je výběr. Má být solidní alternativou k awk a cut příkazy, ale vše zjednodušovat.