انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: obontu در 20 امرداد 1401، 08:31 ب‌ظ

عنوان: کار با فایلها در ترمینال
ارسال شده توسط: obontu در 20 امرداد 1401، 08:31 ب‌ظ
یک فایل متنی دارم شامل ادرس یکسری فایل(مثل عکس ویدیو و...) میخوام با دستورات ترمینال اون فایلها را داخل یک پوشه کپی کنم

ادرس ها هم به این شکل هست : البته با اردسها و اسامی متفاوت؟

Videos/2/videos/video0102.avi/ .
Desktop/SmartsysSoft.exe/ .
.
.
.
.
عنوان: پاسخ : کار با فایلها در ترمینال
ارسال شده توسط: Issac در 20 امرداد 1401، 10:03 ب‌ظ
سلام
میتونید از این روش استفاده کنید:
$ while read line; do cp $line ~/newfolder; done < file.txt 
https://www.javatpoint.com/bash-read-file
عنوان: پاسخ : کار با فایلها در ترمینال
ارسال شده توسط: Dragon- در 20 امرداد 1401، 11:46 ب‌ظ
این یکی نمیذاره اگه اسم فایل فاصله داشت یا شامل کاراکتر‌های کنترلی بود، مشکلی پیش بیاد.
while read -r line; do cp "${line}" ~/newfolder; done < file.txt
عنوان: پاسخ : کار با فایلها در ترمینال
ارسال شده توسط: obontu در 21 امرداد 1401، 10:47 ق‌ظ
file.txt که مشخه ولی ~/newfolder چیه؟

اوکی مسیر پوشه هست که اونجا فایلها کپی میشن.
فقط ~ چی میشه؟
مربوط به home میشه؟
عنوان: پاسخ : کار با فایلها در ترمینال
ارسال شده توسط: Dragon- در 21 امرداد 1401، 01:34 ب‌ظ
newfolder/~ میشه دایرکتوری که می‌خواهید فابل‌ها داخلش کپی بشن. می‌تونید به جای اون، هر چیز دیگه‌ای که می‌خواهید بذارید.
عنوان: پاسخ : کار با فایلها در ترمینال- مقایسه دو فایل متنی
ارسال شده توسط: obontu در 21 امرداد 1401، 05:49 ب‌ظ
دو تا فایل زیر را در نظر بگیرید با چه دستوری میتونم تفاوت ها را در یک فایل سوم ثبت کنم اون هم به این صورت که:
اولی را با دومی مقایسه کنه و ثبت کند که چه مواردی در اولی هست که در فایل دوم موجود نیست الان در فایل اول
 ./Videos/Data/WinMount/3.ini موجود هست ولی در فایل دوم نیست
1.txt
./Videos/Data/2.ini
 ./Videos/Data/WinMount/3.ini
 ./Videos/soft98.ir.url
txt.2
./Videos/App/WinMount/1.exe
 ./Videos/Data/2.ini
 ./Videos/soft98.ir.url
با دستور diff بعید میدونم بشه چون یکسری توضیحات هم اضافه میکنه که نمیخوام
diff 1.txt 2.txt
0a1
> ./Videos/App/WinMount/1.exe
2d2
<  ./Videos/Data/WinMount/3.ini
خروجی ای که من میخوام باید به این صورت باشه :
./Videos/Data/WinMount/3.ini
عنوان: پاسخ : کار با فایلها در ترمینال
ارسال شده توسط: obontu در 23 امرداد 1401، 08:00 ب‌ظ
این یکی نمیذاره اگه اسم فایل فاصله داشت یا شامل کاراکتر‌های کنترلی بود، مشکلی پیش بیاد.
while read -r line; do cp "${line}" ~/newfolder; done < file.txt

while read -r line; do cp "${line}" /home/obuntu/MD5SUM; done < 01.txt

چرا این خطا را میگیره؟

cp: cannot stat './Videos/2/videos/video0102.avi': No such file or directory
cp: cannot stat './Desktop/SmartsysSoft.exe': No such file or directory
عنوان: پاسخ : کار با فایلها در ترمینال
ارسال شده توسط: Dragon- در 23 امرداد 1401، 10:29 ب‌ظ
داره می‌گه اون فایل‌ها که می‌خواهد کپی کنه وجود ندارند.
عنوان: پاسخ : کار با فایلها در ترمینال
ارسال شده توسط: obontu در 30 امرداد 1401، 08:28 ب‌ظ
داره می‌گه اون فایل‌ها که می‌خواهد کپی کنه وجود ندارند.
فایل وجود داره
الان مورد دزیر را ببینید :
این دستوری هست که اجرا کردم
while read -r line; do cp "${line}" /new; done < 014تو همون دایرکتوری ای که فایل ۰۱۴ هست ترمینال را باز کردم و یک پوشه هم به نام new در اون دایرکتوری وجود داره الان کجای کار ایراد داره؟ در حالی که فایل وجود داره.
cp: cannot stat '/media/win10/0A0A3B070A3AEF771/Documents and Settings/tech/dir_2.txt': No such file or directory

./media/win10/0A0A3B070A3AEF77/Documents and Settings/tech/dir_2.txt
عنوان: پاسخ : کار با فایلها در ترمینال
ارسال شده توسط: obontu در 30 امرداد 1401، 10:50 ب‌ظ
درایو mount نبود "." هم  نباید اولش  داشته باشه.