Вы можете сделать это следующим способом
#!/bin/bash
cp $1 $2
wc -l $2
Приведенный выше сценарий скопирует содержимое $1 (файл1 )в $2 (файл2 )и после копирования во второй файл. он напечатает количество строк в файле2
Мы должны выполнить скрипт, как показано ниже
sh scriptname file1 file2
$1=file1
$2=file2
cp
(обычно )ничего не выводит. Если вы используете cp -v
, он выведет имя каждого копируемого файла, но не их содержимое.
UNIX-подобные -среды, как правило, довольно хороши в том, что у них есть инструменты, которые выполняют ровно одну работу, и делают ее хорошо. Подсчет строк в файле (заданиеwc
)не входит в компетенцию инструмента, задачей которого является копирование файлов из одного места в другое (e. г.cp
).
Если вы хотите подсчитать количество строк в файле, а также скопировать его, вам нужно выполнить эти две отдельные задачи по отдельности.
$ cp /old/path/to/file /new/path/to/file
$ filelength="$( wc -l < /path/to/file )"