Скопируйте несколько файлов в один (добавьте, слияние) в единственном вызове без перенаправления оболочки?

Во-первых, -R опция для рекурсии, которая является, вероятно, не, что Вы хотите - который будет искать во всех подкаталогах также. Во-вторых, < оператор (если не рассматриваемый как перенаправление) для сравнения строк. Вы, вероятно, хотите -lt. Попытка:

while [ `ls -1A | grep ^- | wc -l` -lt 3 ]

Но я использовал бы, находят здесь:

while [ `find . -maxdepth 1 -type f -print | wc -l` -lt 3 ]
4
23.05.2017, 15:40
1 ответ

Можно сделать:

sed -n wfile.merge file1 file2

Или:

awk '{print > "file.merge"}' file1 file2

Или:

sh -c 'cat file1 file2 > file.merge'

(обратите внимание, что в зависимости от реализации, первые два не могут работать правильно с двоичными файлами).

11
27.01.2020, 20:47
  • 1
    +1 для sh часть большое спасибо –  michas 04.06.2013, 23:23
  • 2
    , @StephaneChazelas - который является видом синтаксиса, в котором я нуждался (к сожалению, это не помогло с моими вызовами ядра, поскольку они все еще пропускаются - но по крайней мере теперь я знаю, что те "пропуски" не должны окружить перенаправления). Большое спасибо снова - За Ваше здоровье! –  sdaau 04.06.2013, 23:26

Теги

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