Unix скрипт для удаления файла, если он содержит одну строку - PullRequest
1 голос
/ 16 марта 2011

Предположим, у меня есть файл abcde.txt, который может содержать одну или несколько строк текста. Я хочу скрипт, который удалит файл, если он содержит одну строку.

Что-то вроде, if 'wc -l abscde.txt' = 1 then rm abscde.txt

Моя система: Solaris

Ответы [ 3 ]

3 голосов
/ 16 марта 2011

Вот простой bash-скрипт:

#!/bin/bash

LINECOUNT=`wc -l abscde.txt | cut -f1 -d' '`

if [[ $LINECOUNT == 1 ]]; then
   rm -f abscde.txt
fi
0 голосов
/ 16 марта 2011

Это (в основном) просто переформатирование ответа Бена:

wc -l $PATH | grep '^1 ' > /dev/null && rm -f $PATH
0 голосов
/ 16 марта 2011
delifsingleline () {
    if [ $(cat $1 | wc -l) = "1" ]
    then
        echo "Deleting $1"
        echo "rm $1"
    fi
}

Слегка испытан на zsh.Должно работать и на bash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...