1

ls コマンドで見つかったファイル名を分割する方法を知りたくてここにいます:D. もっとよく説明しましょう...

私は変数を持っています

images=$( ls | grep .img )

そして、.img の前に名前が必要なだけなので、検索結果を分割したいので、IFS を使用することをお勧めします。

IFS=. read -r disk <<< $image

かなりいいですが、$disk 変数を使用してエコーを実行すると、表示されるのは「.img」だけです。そのドットの前にある場所を回復したいと思います。

皆様、ありがとうございました。

4

3 に答える 3

1

ストリーム エディタ sed を使用してください。例:

echo "myImage.jpg" | sed 's/.jpg//'

その s は「置換」を意味し、最初の 2 つのスラッシュの間の部分を 2 番目と 3 番目のスラッシュの間の部分に置き換えます。この例では、空の文字列は「.jpg」になります。

それで全部です!

于 2013-09-09T23:34:16.283 に答える
1

basenameあなたが望むものです。
マニュアルページから:

basename - strip directory and suffix from filenames  

    EXAMPLES
           basename /usr/bin/sort
                  Output "sort".
           basename include/stdio.h .h
                  Output "stdio".
于 2013-09-09T23:40:54.533 に答える