GNU/Linux >> Linux の 問題 >  >> Ubuntu

2つのコマンドを組み合わせる?

ファイル内の文字を小文字に変換し、非アルファ文字を_に置き換えるためのシェルスクリプトを作成する必要があります 。

上記の両方に個別のコマンドがあります。引数としてファイルを指定し、上記の処理を実行する方法。つまり、出力には小文字のみが含まれ、非アルファ文字は_に置き換えられます。 (アンダースコア)?

承認された回答:

sedを使用する :

sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt

これは実際には2つのsedです ;で区切られたコマンド :

  • s/[^[:alpha:]]/_/g アルファベット以外の各文字を_に変換します

  • s/[[:upper:]]/\L&/g すべての大文字を小文字に変換します

例:

$ cat file.txt 
fooBAr132323
SpamEgg

$ sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt
foobar______
spamegg

Ubuntu
  1. ターミナルに出没する8つの不気味なコマンド

  2. Linux管理用のSecureShell(SSH)コマンド。

  3. Linuxで検索および検索コマンドを使用してファイルを検索する

  1. UbuntuのIncronでファイルまたはディレクトリの変更に対してコマンドを実行する方法

  2. 基本的な vi コマンド (チート シート)

  3. Bash でテキスト ファイルをコマンドとして実行する

  1. 例を含む10以上のLinuxVIコマンド

  2. 削除されたファイルを回復しますか?

  3. すべての Linux 圧縮/解凍コマンド