Bashは行に特定の文字のみが含まれていることを確認します。

Bashは行に特定の文字のみが含まれていることを確認します。

ファイルの最初の行を確認し、「X」のみが含まれていることを確認したいと思います。最初の行に「X」以外の項目が含まれている場合は「YES」をエコーし​​、そうでない場合は「No」をエコーし​​たいと思います。例:

ファイルの最初の行はXXXXXXXyesとして出力する必要があるものです。

また、最後の行でどのようにこれを行うことができますか?

ベストアンサー1

次のスクリプトはファイル名を引数として使用し、最初の行と最後の行がX文字のみで構成されていることを確認します。

#!/bin/bash

echo First line
if [ "$(head -n 1 $1 | grep '^X\+$')" == "" ]; then
    #echo something else than X found in the first line
    echo no
else
    #echo only X found in the first line
    echo yes
fi

echo Last line
if [ "$(tail -n 1 $1 | grep '^X\+$')" == "" ]; then
    #echo something else than X found in the last line
    echo no
else
    #echo only X found in the last line
    echo yes
fi

おすすめ記事