簡體   English   中英

如何在Shell腳本中讀取文件並將文件從一個文件復制到另一個文件

[英]How to read a file and copy from one file to another file in shell script

如何在shell腳本中讀取文件並將文件從一個文件復制到另一個文件:

#!/bin/csh -f
echo ---file.txt---
cat file.txt

echo ######## file.text is opened ########
#set file_1="export/home/caratins/trial/file.txt"
while read line
do
echo "$line"
cp file.txt files

done<file.txt

實際上,這里有一個文件夾試用版,在試用文件夾中有4個文本文件。 我想打開一個文件“ file.txt”。 在file.txt內部,有3個文件名:test1.txt,test2.txt,test3.txt。 我的工作是使用file.txt文件,我已讀取所有3個文件名並將其復制到另一個文件夾。 因此,為此,我必須打開file.txt,讀取文件並打印3個文件,然后僅復制這3個文件而不是完整文件夾,並將這3個文件復制到同一目錄中的另一個文件夾“文件”中。

如果您想照原樣復制整個文件,則

cat filename >> newfilename

三個文件

cat file1.txt file2.txt file3.txt >>file.txt

如果要逐行復制,則

while IFS= read -r line
do
echo "$line"
echo -e "$line\n" >>newfilename

done <"filename"

嘗試一下,這里test1是您的源文件夾,它將占用您的文件,而test2是目標文件夾,您將在讀取后移動文件。

#!/bin/sh
cd test1;
echo "list of files:";
ls;
for filename in *;
do echo "file: ${filename}";
echo "reading..."
exec<${filename}
value=0
while read line
do
   #value='expr ${value} +1';
   echo ${line};
done
echo "read done for ${filename}";
cp ${filename} ../test2;
echo "file ${filename} moved to test2"; 
done 

或者你可以試試這個...

ls;
echo "reading main file...";
filenames="filenames";
exec<${filenames}
while read name
do
  echo "file: ${name}";
  echo "reading..."
  cd test1;
exec<${name}
value=0
while read line
do
#value='expr ${value} +1';
echo ${line};
done
echo "read done for ${name}";
cp ${name} ../test2;
cd ..;
echo "file ${file} moved to test2"; 
done 

喲...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM