C shell удалить строку из файла - PullRequest
0 голосов
/ 25 октября 2018

У меня есть файл output.txt.Файл выглядит следующим образом:

name1 10
name2 12
name3 5

Я получаю число n, и мне нужно удалить все строки, у которых номер (после имени) меньше или равен числу n.

1 Ответ

0 голосов
/ 25 октября 2018

Примерно так:

#!/bin/csh
set CMPNUM = 5
set FILE = output.txt

set TMPFILE = ( `mktemp` )
# read in
foreach line ( "`cat $FILE`" )
  set argv = ( $line )
  set STR = $1
  set NUM = $2

  if ( `echo "$NUM > $CMPNUM" | bc` ) then
    echo "$STR $NUM" >> $TMPFILE
  endif
end
mv $TMPFILE $FILE
...