/ / Ako odstrániť riadok zo súboru v bash? - bash, unix

Ako odstrániť riadok zo súboru v bash?-bash, unix

Mám súbor s názvom tmp ktorý obsahuje 4 reťazce:

dirs
f1
f2
f3

Chcem zostať s

f1
f2
f3

Aký príkaz bash mi pomáha dosiahnuť to? (Len bash, prosím, nie sed alebo awk.)

odpovede:

2 pre odpoveď č. 1

Môžete použiť:

grep -v "dirs" tmp

Na -v argument z grep bude negovať zhodu, t. j. vylúči všetko, čo sa zhoduje dirs zo súboru tmp

Alebo keby ste chceli čistý bash Riešenie:

while read -r line
do
if ! [[ $line =~ "dirs" ]]
then
echo $line
fi
done < tmp

1 pre odpoveď č. 2

Jedným z mnohých spôsobov je použitie chvost:

tail -n 3 tmp

0 pre odpoveď č. 3

regulárny výraz s grep: buď

grep "f" tmp> name_of_output_file

alebo

grep "[^" dirs "]" tmp> name_of_output_file

pracovať pre mňa