Unixではファイル名の先頭部分を読み取り、それを別のファイルに挿入する

Unixではファイル名の先頭部分を読み取り、それを別のファイルに挿入する

たとえば、ファイル名の一部をコピーする最良の方法を教えてください。

axheMyfile.txt で、最初の 4 つの一意の文字を読み取り、それを新しいタブ区切りファイルにコピーして、別の文字列と結合します。

数十のファイルに対してこれを実行する必要があります。 ありがとうございます!

答え1

バッシュ(そしてkshまた、私が覚えている限りでは、パラメータ展開では、次のような形式の部分文字列も許可されます。${パラメータ:オフセット:長さ}以下を試してみれば、それがどのように機能するかがわかります。

fname=axheMyfile.txt
echo ${fname:0:4}

検索ベースの部分文字列抽出を可能にする他の拡張もあります。例えば、またはは${fname%.*}${fname%%.*}。TXT(名前にドットが複数ある場合は違いが生じます)。

関連情報