Как создать файл или папку и в то же время записать их в файл .sh [закрыто]

Как создать файл или папку и в то же время записать их в файл .sh?

Например: подсчитать количество слов для файла, записать эту информацию в новый файл и сохранить его в файле .sh одновременно.

Я пробовал:

echo 'wc filename.txt > ./folder/newfilename.txt' >>ToThefilename.sh

он давал мне количество слов для имени файла в папке, но в файле sh он давал мне то, что указано в кавычках.

1
задан 23 February 2014 в 18:53

2 ответа

Эхо распечатает то, что Вы дали ему в кавычках, буквально. Так

echo 'wc filename.txt > ./folder/newfilename.txt' >>ToThefilename.sh

Должен добавить этот текст до конца ToThefilename.sh

туалет filename.txt> ./folder/newfilename.txt

, Если бы Вы хотите записать вывод wc filaname.txt к "ToThefilename.sh", Вы просто сделали бы wc filename.txt >>ToThefilename.sh Поэтому, если я сделаю wc examples.desktop > foo.txt тогда foo.txt, то будет содержать результаты той команды:

amanda@mona:~$ cat foo.txt 
 240  569 8980 examples.desktop

, если Вы просто хотите сохранить журнал вещей, Вы сделали к, или с filename.txt можно сделать history | grep filename.txt > ToThefilename.sh

, Если это не то, что Вы пытаетесь выполнить, разъясните свой вопрос! Чтобы сделать что-то более сложное, Вы, вероятно, собираетесь должны записать сценарий оболочки, который берет вход и делает несколько разных вещей с ним.

0
ответ дан 23 February 2014 в 18:53

Можно сделать это с tee и замена процесса:

echo 'wc filename.txt' | tee >(bash > ./folder/newfilename.txt) >> ToThefilename.sh

замена процесса действует как файл команды мишени. мишень передаст вывод по каналу команды эха и в файл и в stdout (где перенаправление добавляет его к сценарию). удар считает команду на своем stdin

0
ответ дан 23 February 2014 в 18:53

Другие вопросы по тегам:

Похожие вопросы: